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