[英]Python Pandas Dataframe.at function
使用
a = df.at('x', 'y')
这应该返回包含“x”的行中单元格的值和列 header“y”吗?
包含“x”的行既不是行名也不是第一列,这有关系吗?
如果没关系,任何人都可以建议这里可能是什么问题。
这是一些示例数据
Account Asset Symbol SecType Currency Position Avg cost
0 DU2870371 USDCAD USD CASH CAD -232475.0 1.286397
2 DU2870371 AUDUSD AUD CASH USD 285611.0 0.756396
然后我将其保存到 csv。在另一个脚本中,我从 CSV 加载它并使用
a = df.at['USDCAD', 'Position']
我希望它返回值-232475.0
而是说 KeyError: 'USDCAD'
通过索引中的标签(来自资产列)和列名称将列Asset
转换为 select 的索引:
df = df.set_index('Asset')
a = df.at['USDCAD', 'Position']
也可以使用boolean indexing
,但是 output 是空的,一个或多个值在Series
中:
s = df.loc[df['Asset'].eq('USDCAD'), 'Position']
因此,对于 Series 的第一个值,可以使用:
a = s.iat[0]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.