要在数据框0
中获取整数位置'A'
和列标签df
的标量,我会链接索引:df.iloc[0]['A']
。这有效,但是pandas文档说chained indexing should be avoided。
我可以提出的另一种选择是df.iat[0, df.columns.get_loc('A')]
,与链式索引相比,它的输入太多了。有没有更短的方法来做到这一点?
注意: .ix索引器已弃用。
示例:
df=pd.DataFrame({'A':[10,20,30,40]}, index=[3,2,1,0])
A ------ 3 10 2 20 1 30 0 40
第0
栏中整数位置A
的标量为10
而不是40
:
df.iat[0, df.columns.get_loc('A')]
Otuput:10
答案 0 :(得分:2)
您可以参考loc
, iloc
, at
, iat
直接回答您的问题:
这称为混合型索引。您希望按位置访问一个维度,另一个按标签访问。
要解决此问题,我们需要翻译:
使用loc
我们在0
位置
df.loc[df.index[0], 'A']
或者
df.at[df.index[0], 'A']
或者
df.get_value(df.index[0], 'A')
使用iloc
我们使用pd.Index.get_loc
df.iloc[0, df.columns.get_loc('A')]
或者
df.iat[0, df.columns.get_loc('A')]
或者
df.get_value(0, df.columns.get_loc('A'), takable=True)
我还提供了使用pd.DataFrame.get_value