python pandas DataFrame 關於重復索引取值的一些坑


情況:重復索引與非重復索引的取值返回類型是不一樣的。

dfa = pd.DataFrame(np.random.randn(6, 4),index=list('aacdeb'),columns=list('ABCD'))
dfa

 

 

print('存在重復索引取一列的情況:',type(dfa.loc['a','A']),'取值方法:',dfa.loc['a','A'].iloc[0])
print('----------------------------------------------------------------------')
print('不存在重復索引取一列的情況:',type(dfa.loc['c','A']),'取值方法:',dfa.loc['c','A'])
print('----------------------------------------------------------------------')

#
#  如果在程序中需要通用的話,需要先轉換
#  或者對返回結果類型先進行判斷
#
print('通用取值方法,假設多個返回取其中一個:','重復情況:',pd.Series(dfa.loc['a','A']).iloc[0])
print('通用取值方法,:','不重復情況:',pd.Series(dfa.loc['c','A']).iloc[0])

輸出情況:

 

 最終,就是要清晰,使用的數據情況,從而選擇具體的取值方法。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM