python - 在 pandas 0.16+ 中,如何使用变量添加列来指示列名?
问题描述
正如您可以在此问题中查看的那样,在 Pandas 0.16+ 中添加列的最佳方法是
df = df.assign(new_column = Something)
其中 new_column 实际上是新列的名称(即使它没有写成字符串)。
这对我来说是个问题,因为我想添加许多列,其名称由变量指定
我试过这个:
for col in df.columns:
new_col_name = col + "_nancount"
test = test.assign(new_col_name = test[col].isna().sum())
它不起作用:这样,只添加了一个列(并且它被命名为“new_col_name”)
预期的结果是,给定一个包含列 ["A", "B", "C"] 的表有一个包含列 ["A", "B", "C", "A_nancount", "B_nancount" 的表, "C_nancount"]
我怎样才能做到这一点?
解决方案
按照这里回复的内容,我认为最好的解决方案如下:
df = df.assign(**{col1: Something, col2: Something})
就我而言:
new_col_dict = {}
for col in df.columns:
new_col_dict[col + "_nancount"] = test[col].isna().sum()
test = test.assign(**new_col_dict)
推荐阅读
- sql - SQLite, Python3
- java - Java Lambdas 多重求和
- mysql - docker下带有外部数据库的Apache Guacamole需要SSL数据库连接
- laravel - Laravel + vuejs 刷新页面
- c++ - 纹理瓷砖边框变形或移位
- excel - 在 Visual Basic 中使用范围和集合
- python - 如何使索引/值之间具有相同长度和相似标准偏差的 2 个数组?
- vue.js - 渲染 4-5 次后监听鼠标点击事件的 CEF + VUEJS 性能问题
- java - 如何对java方法进行单元测试?
- json - 使用 Swift 5 和 Alomofire 自动解析 JSON