" />

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

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

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

loc

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

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

允許的輸入為:

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

獲取單行

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

>>> 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

獲取特定的幾行

  • 可以將多個行號組成一個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
  • 利用切片獲取多個連續(xù)的行

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

>>> 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

也可以通過切片和列組合,獲取特定的數(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

通過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

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

通過條件獲取,時間也是通過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

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

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

通過回調(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

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

這里主要講的是對數(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é)

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

相關(guān)文章

最新評論

项城市| 商洛市| 南昌市| 宽甸| 循化| 汉中市| 双城市| 华阴市| 肥东县| 林甸县| 眉山市| 兰西县| 电白县| 仁怀市| 都兰县| 托克托县| 呼伦贝尔市| 化隆| 台中县| 绥宁县| 定南县| 鄄城县| 寻乌县| 乌审旗| 喀什市| 丰原市| 庆阳市| 孟津县| 修武县| 新余市| 民和| 文安县| 文山县| 武城县| 建瓯市| 西吉县| 祁东县| 石林| 绥宁县| 体育| 竹溪县|