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)文章
關(guān)于yolov5的一些簡單說明(txt文件、訓(xùn)練結(jié)果分析等)
使用YOLOV5訓(xùn)練數(shù)據(jù)之后我們需要一些評判標(biāo)準(zhǔn)來告訴我們所訓(xùn)練的效果究竟如何,下面這篇文章主要給大家介紹了關(guān)于yolov5的一些簡單說明,主要是txt文件、訓(xùn)練結(jié)果分析等的相關(guān)資料,需要的朋友可以參考下2022-06-06Python實(shí)現(xiàn)異常檢測LOF算法的示例代碼
這篇文章主要為大家介紹一個經(jīng)典的異常檢測算法:局部離群因子(Local Outlier Factor),簡稱LOF算法。感興趣的小伙伴可以跟隨小編一起了解一下2022-03-03Python爬蟲實(shí)戰(zhàn)演練之采集拉鉤網(wǎng)招聘信息數(shù)據(jù)
讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Python采集拉鉤網(wǎng)招聘信息數(shù)據(jù),大家可以在過程中查缺補(bǔ)漏,提升水平2021-10-10pygame學(xué)習(xí)筆記(1):矩形、圓型畫圖實(shí)例
這篇文章主要介紹了pygame學(xué)習(xí)筆記(1):矩形、圓型畫圖實(shí)例,本文講解了pygame窗口、窗口退出、pygame中的顏色、圓形、矩形及一個完整實(shí)例,需要的朋友可以參考下2015-04-04python中[[]] * (n)和[[] for _ in 
本文主要介紹了python中[[]] * (n)和[[] for _ in range(n)]的區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-02-02詳解利用python-highcharts庫繪制交互式可視化圖表
本文主要和大家分享一個超強(qiáng)交互式可視化繪制工具-python-highcharts。python-highcharts就是使用Python進(jìn)行Highcharts項目繪制,簡單的說就是實(shí)現(xiàn)Python和Javascript之間的簡單轉(zhuǎn)換層,感興趣的可以了解一下2022-03-03Python導(dǎo)入txt數(shù)據(jù)到mysql的方法
這篇文章主要介紹了Python導(dǎo)入txt數(shù)據(jù)到mysql的方法,涉及Python操作txt文件及mysql數(shù)據(jù)庫的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-04-04