" />

最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pandas獲取對(duì)應(yīng)的行或者列方式

 更新時(shí)間:2024年02月24日 08:44:55   作者:小瓶蓋的豬豬俠  
這篇文章主要介紹了pandas獲取對(duì)應(yīng)的行或者列方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

loc

通過(guò)標(biāo)簽或布爾數(shù)組訪問(wèn)一組行和列。

.loc[] 主要基于標(biāo)簽,但也可以與布爾數(shù)組一起使用。

允許的輸入為:

  • 單個(gè)標(biāo)簽,例如’a’,
  • 標(biāo)簽列表或數(shù)組,例如。[‘a’, ‘b’, ‘c’]
  • 帶有標(biāo)簽的切片對(duì)象,例如’a’:‘f’。
  • 與切片軸長(zhǎng)度相同的布爾數(shù)組,例如。[True, False, True]
  • 可對(duì)齊的布爾系列。遮罩之前,鍵的索引將對(duì)齊。
  • 可對(duì)齊索引。返回的選擇的索引將作為輸入。

獲取單行

為了獲取當(dāng)行,只需要利用行號(hào)就能夠獲取,

>>> df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],
...      index=['cobra', 'viper', 'sidewinder'],
...      columns=['max_speed', 'shield'])
>>> print(df.loc["viper"])
max_speed    4
shield       5
Name: viper, dtype: int64

獲取特定的幾行

  • 可以將多個(gè)行號(hào)組成一個(gè)list,然后作為參數(shù)輸入進(jìn)去
>>> df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],
...      index=['cobra', 'viper', 'sidewinder'],
...      columns=['max_speed', 'shield'])
>>> print(df.loc[["cobra",'sidewinder']])
            max_speed  shield
cobra               1       2
sidewinder          7       8
  • 利用切片獲取多個(gè)連續(xù)的行

在利用切片時(shí),也需要使用label進(jìn)行切片,否則pandas不會(huì)識(shí)別

>>> df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],
...      index=['cobra', 'viper', 'sidewinder'],
...      columns=['max_speed', 'shield'])
>>> print(df.loc[ 'viper': 'sidewinder'])
            max_speed  shield
viper               4       5
sidewinder          7       8

獲取特定行和列

>>> df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],
...      index=['cobra', 'viper', 'sidewinder'],
...      columns=['max_speed', 'shield'])
>>> print(df.loc[ 'viper','shield'])
5

也可以通過(guò)切片和列組合,獲取特定的數(shù)值

>>> df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],
...      index=['cobra', 'viper', 'sidewinder'],
...      columns=['max_speed', 'shield'])
>>> print(df.loc['viper': 'sidewinder',:])
            max_speed  shield
viper               4       5
sidewinder          7       8

通過(guò)bool值進(jìn)行選擇

>>> df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],
...      index=['cobra', 'viper', 'sidewinder'],
...      columns=['max_speed', 'shield'])
>>> df.loc[[False, False, True]]
            max_speed  shield
sidewinder          7       8

通過(guò)條件進(jìn)行選擇獲取

通過(guò)條件獲取,時(shí)間也是通過(guò)bool獲取的一種特例,

>>> df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],
...      index=['cobra', 'viper', 'sidewinder'],
...      columns=['max_speed', 'shield'])
>>> df.loc[df['shield'] > 6]
            max_speed  shield
sidewinder          7       8

通過(guò)下面的結(jié)果,我們可以看出,通過(guò)條件獲取后是一個(gè)對(duì)象,該對(duì)象的值就是一個(gè)bool列表,通過(guò)條件獲取就是通過(guò)這個(gè)bool列表進(jìn)行獲取

>>> s = df['shield'] > 6
>>> type(s)
<class 'pandas.core.series.Series'>
>>> s.values
array([False, False,  True])

通過(guò)回調(diào)函數(shù)獲取

>>> df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],
...      index=['cobra', 'viper', 'sidewinder'],
...      columns=['max_speed', 'shield'])
>>> df.loc[lambda df: df['shield'] == 8]
            max_speed  shield
sidewinder          7       8

對(duì)數(shù)值進(jìn)行修改

這里主要講的是對(duì)數(shù)值的修改是永久性的,

>>> df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],
...      index=['cobra', 'viper', 'sidewinder'],
...      columns=['max_speed', 'shield'])
>>> df.loc[['viper', 'sidewinder'], ['shield']] = 50
>>> df
            max_speed  shield
cobra               1       2
viper               4      50
sidewinder          7      50

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

开原市| 垫江县| 通城县| 呈贡县| 界首市| 运城市| 台东市| 怀远县| 黔南| 赣州市| 阿鲁科尔沁旗| 大悟县| 桐梓县| 高台县| 萝北县| 崇义县| 茌平县| 利川市| 什邡市| 宁远县| 若尔盖县| 克什克腾旗| 龙州县| 资阳市| 贞丰县| 云南省| 普安县| 兴山县| 遵义市| 施秉县| 诏安县| 泉州市| 博兴县| 昌江| 剑川县| 邓州市| 阿鲁科尔沁旗| 鸡泽县| 横山县| 盐津县| 芮城县|