python - 如何在 Pandas MultiIndex Dataframes 中获取和设置单个值
问题描述
我定义了一个MultiIndex数据框,如下所示:
columns = pd.MultiIndex.from_product(
[assets, ['A', 'B', 'C']],
names=['asset', 'var']
)
res = pd.DataFrame(0, index=data.index, columns=columns)
但是,我没有成功设置或更新this 的单个值Dataframe
。有什么建议吗?或者我应该转向使用numpy
数组 - 因为效率?
解决方案
与元组一起使用DataFrame.loc
选择 MultiIndex 列并设置新值,例如:
assets = ['X','Y']
columns = pd.MultiIndex.from_product(
[assets, ['A', 'B', 'C']],
names=['asset', 'var']
)
res = pd.DataFrame(0, index=range(3), columns=columns)
print (res)
asset X Y
var A B C A B C
0 0 0 0 0 0 0
1 0 0 0 0 0 0
2 0 0 0 0 0 0
res.loc[0, ('X','B')] = 100
print (res)
asset X Y
var A B C A B C
0 0 100 0 0 0 0
1 0 0 0 0 0 0
2 0 0 0 0 0 0
推荐阅读
- amazon-web-services - Pulumi(TypeScript,AWS):如何将多个文件上传到 S3,包括。用于静态网站托管的目录中的嵌套文件
- java - Dali Java Persistence Tools - 数据库数据类型到 Java 数据类型的映射
- php - 如果登录,Symfony 跳过 API 的 JWT 身份验证
- php - 计算另一个连接表中的行数
- django - 如何使用循环从 Django 中的 html 模板请求
- powershell - 我的 Powershell 脚本不做多线程工作,为什么?
- c# - 在 docker 容器内对字符串进行测试失败
- mysql - 当文件不存在时,Mysql“LOAD DATA LOCAL INFILE”不应该停止执行
- python-3.x - 仅当我重新启动 shell 窗口时更新外部文件中的值才有效
- split - 如何在 forEach 循环中拆分 innerHTML 字符串并从两个子字符串中提取输出