python - Python Pandas Dataframe.at 函数
问题描述
使用
a = df.at('x', 'y')
这应该返回包含“x”和列标题“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
转换为索引以通过索引中的标签(来自资产列)和列名称进行选择:
df = df.set_index('Asset')
a = df.at['USDCAD', 'Position']
也可以使用boolean indexing
,但输出为空,一个或多个值位于Series
:
s = df.loc[df['Asset'].eq('USDCAD'), 'Position']
因此,对于 Series 的第一个值,可以使用:
a = s.iat[0]
推荐阅读
- sql - 更新用于 SQL 报告的表中的批量数据的最佳实践
- git - 在 git 中,我如何验证错误修复是否在 Release 分支和 master 中
- php - 连接并搜索数据库,然后将其显示到网页?
- c# - System.Windows.Forms.dll 中抛出空引用异常
- python - Python - 创建多个列表并压缩
- javascript - 我如何将我的按钮放在 img 的中心?
- sql - 是否可以将 SUM() ORDER BY 的结果放入原始表中?
- android - 当android应用程序运行很长时间时,操作系统是否会杀死UI?
- excel - 如何使用 PowerQuery 正确格式化我的数据?
- php - 如何使用 Breadcrumb navXT 更改 wordpress 中最后一个面包屑项目名称?