1. 想要用第幾行第幾列的形式索引:
如第一行第二列
df=pd.read_csv('the_ans.csv')
print(df.iloc[1,2]) #iloc :用position來去定位
iloc與loc的區別:
df.iloc[ 0:5],選擇0-5行的所有值
df.iloc[ :, 0:2],選擇前兩列的所有值
df.loc[0],按索引選擇index為0的那一行的值
df.loc[0,『列名』],選擇按索引選擇index為0那一行『列名』那列的值
例:
有乙個資料表如下:
可以看到行標為7,列標為start的值為950,匯入到dataframe中,這個數應該表示為行5,start列,索引**如下:
#索引方式1,loc索引
df=pd.read_csv('the_ans.csv')
print(df.loc[5,'start']) #第5行,start列
#輸出結果
950process finished with exit code 0
#索引方式2,iloc索引
df=pd.read_csv('the_ans.csv')
print(df.iloc[5,1])
#輸出結果
950process finished with exit code 0
2. 讀取後用布林索引,發現一直無法索引
上面明明是有700,卻顯示false
檢視value:
print(gongkuang['start'].values)
發現values輸出的結果是字串,也就是說讀取出來的資料並不是數字,而是字串。這可能是因為讀取**的時候表頭是單詞,所以所有的數統一讀成了字串形式。
因此利用字串的形式進行索引:
print('判斷等於700',gongkuang['start']=='700')
value=gongkuang[(gongkuang.iloc[:,1]==700)].iloc[:,3] #等於700的這行的第三列(從0開始)數取出來
value=[float(x) for x in value] #然後再轉化為float形式
DataFrame 索引和復合索引
前面按照多個條件進行分組產生的索引是復合索引 一 索引 a 獲取index df.index b 指定index df.index c 重新設定index df.reindex a b c 注意 一般不用 d 指定某一列作為index df2 df1.set index o drop false d...
python中DataFrame多重索引問題
在python資料處理中如果實現excel透視表中的功能,則多重索引問題就比較突出了。近來為實現python自動郵件,需要對資料進行透視表功能,遇到多重索引和多表頭問題,下面總結下用法。一 多重索引 常規的單索引這裡就不多贅述了,主要來看下多索引的問題。pd.pivot table產生的多重索引問題...
Pandas中DataFrame重置索引
在pandas中,自定義索引後,有時候又需要恢復預設索引。import pandas as pd import numpy as np df pd.dataframe np.arange 20 reshape 5,4 columns a b c d dfab cd00 1231 4567 28910...