Pandas DataFrame中實(shí)現(xiàn)取單個(gè)值的讀取和修改
取DataFrame里面某個(gè)位置的值
知道index的時(shí)候:
# 這里用index做循環(huán),去每一行某一列的值,直接用 df.loc[index][column name] 即可 for j in raw.index: chs_map = china_map[china_map['city_name']==raw.loc[j]['MAP_CITY']] sjz_map = china_map[china_map['prv_name']==raw.loc[j]['MAP_PRV']]
不知道index的時(shí)候
# 這里取某一行某一列的值,得用函數(shù),要么出來(lái)的是一個(gè)列表而非對(duì)應(yīng)位置的值 for j in raw['city'].unique() chs_map = china_map[china_map['city']==j]['MAP_CITY'].max() sjz_map = china_map[china_map['city']==j]['MAP_PRV'].max()
修改對(duì)應(yīng)位置的值
知道index 和列名的時(shí)候
data2.loc[3,'hhd'] = 0
不知道index 根據(jù)條件修改的時(shí)候
# 多個(gè)條件, 與或非 找到對(duì)應(yīng)的行, 后面要改的列,最后填值 HD.loc[(HD['STATUS']=='a'|(HD['STATUS']=='b'),'FLAG']=1
所有查詢(xún)
df[row_start_index, row_end_index] 查對(duì)應(yīng)行
df[0:] #第0行及之后的行,df的全部數(shù)據(jù) df[:2] #第3行之前的數(shù)據(jù)不包含第三行 左開(kāi)右閉 df[0:1] #第0行 df[1:3] #第2行到第3行(不含第4行) df[-1:] #最后一行 df[-3:-1] #倒數(shù)第3行和倒數(shù)第2行,因?yàn)闆](méi)有-0,所以沒(méi)有最后一行
df.loc[index,column] (使用索引值)
data2.loc['a','segments_name'] # 上面提到的直接取值 data2.loc['a',['segments_name','cnt_case_with_segment']] # 一行兩列轉(zhuǎn)置成個(gè)列表 data2.loc['a':'c',['segments_name','cnt_case_with_segment']] #選取第1行到第3行的數(shù)據(jù), 這里面是全閉區(qū)間 這里生成dataframe data.loc[data['gender']=='m','name'] #選取gender列是m,name列的數(shù)據(jù) data.loc[data['gender']=='M',['name','age']] #選取gender列是m,name和age列的數(shù)據(jù)
loc 修改
df.loc['a','name'] = 'aa' #修改index為‘a(chǎn)',column為‘name'的那一個(gè)值為aa。 df.loc['a'] = ['bb','ff',11] #修改index為‘s'的那一行的所有值。 df.loc['a',['name','age']] = ['bb',11] #修改index為‘a(chǎn)',column為‘name'的那一個(gè)值為bb,age列的值為11。
iloc[row_index, column_index] (使用索引位置)
data2.iloc[0,0] #第1行第1列的數(shù)據(jù) data2.iloc[1,2] #第2行第3列的數(shù)據(jù) data2.iloc[[1,3],0:2]#第2行和第4行,從第1列到第2列(左閉右開(kāi)不包含第3列)的數(shù)據(jù) data2.iloc[1:3,[1,2]] #第2行到第3行(不包含第1,4行),第2列和第3列的數(shù)據(jù)
iloc 修改
df.iloc[1,2] = 19 #修改一無(wú)素 df.iloc[:,2] = [11,22,33] #修改一整列 df.iloc[0,:] = ['lily','F',15] #修改一整行
.at .iat .ix
#at函數(shù)(使用索引值訪問(wèn)單個(gè)元素) df.at['a','A'] #iat函數(shù)(使用索引位置訪問(wèn)單個(gè)元素) df.iat[0,0] #ix函數(shù)(loc與iloc的混合) 切片索引+普通索引同時(shí)使用時(shí)候的交叉索引 df.ix[0:2,'A':'C']
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
pytorch 同步機(jī)制的實(shí)現(xiàn)
在PyTorch中,當(dāng)多個(gè)算子和內(nèi)核被并行執(zhí)行時(shí),PyTorch 通過(guò) CUDA 的流和事件機(jī)制來(lái)管理并發(fā)和同步,本文就來(lái)介紹一下pytorch 同步機(jī)制,具有一定的參考價(jià)值,感興趣的可以了解一下2024-09-09Python調(diào)用Java可執(zhí)行jar包問(wèn)題
這篇文章主要介紹了Python調(diào)用Java可執(zhí)行jar包問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12python調(diào)用DLL與EXE文件截屏對(duì)比分析
這篇文章主要為大家介紹了python調(diào)用DLL與EXE文件截屏對(duì)比分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2021-10-10Python+Tkinter實(shí)現(xiàn)簡(jiǎn)單的畫(huà)圖軟件
這篇文章主要為大家詳細(xì)介紹了如何利用Python和Tkinter實(shí)現(xiàn)編寫(xiě)一個(gè)簡(jiǎn)單的畫(huà)圖軟件,可以實(shí)現(xiàn)畫(huà)圖、保存、撤銷(xiāo)等功能,感興趣的可以了解一下2023-04-04Python-opencv實(shí)現(xiàn)紅綠兩色識(shí)別操作
這篇文章主要介紹了Python-opencv實(shí)現(xiàn)紅綠兩色識(shí)別操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06python3通過(guò)udp實(shí)現(xiàn)組播數(shù)據(jù)的發(fā)送和接收操作
這篇文章主要介紹了python3通過(guò)udp實(shí)現(xiàn)組播數(shù)據(jù)的發(fā)送和接收操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05Python Tornado實(shí)現(xiàn)WEB服務(wù)器Socket服務(wù)器共存并實(shí)現(xiàn)交互的方法
這篇文章主要介紹了Python Tornado實(shí)現(xiàn)WEB服務(wù)器Socket服務(wù)器共存并實(shí)現(xiàn)交互的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05使用Python快速實(shí)現(xiàn)鏈接轉(zhuǎn)word文檔
這篇文章主要為大家詳細(xì)介紹了如何使用Python快速實(shí)現(xiàn)鏈接轉(zhuǎn)word文檔功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-02-02Python讀取HDFS目錄下的所有文件的實(shí)現(xiàn)示例
HDFS是Apache Hadoop的分布式文件系統(tǒng),本文主要介紹了Python讀取HDFS目錄下的所有文件的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07