在 pandas 0.16+ 中,如何使用变量添加列来指示列名?
Posted
技术标签:
【中文标题】在 pandas 0.16+ 中,如何使用变量添加列来指示列名?【英文标题】:In pandas 0.16+ how can I add a column using a variable to indicate the column name? 【发布时间】:2020-02-06 18:11:16 【问题描述】:您可以查看这个问题Here,在 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())
不行:这样一来,只添加了一个Column(并且命名为“new_col_name”)
预期的结果是,给定一个包含列 ["A"、"B"、"C"] 的表,得到一个包含列 ["A"、"B"、"C"、"A_nancount"、" 的表B_nancount", "C_nancount"]
我该怎么做?
【问题讨论】:
【参考方案1】:按照这个回复Here的内容,我认为最好的解决方案如下:
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)
【讨论】:
以上是关于在 pandas 0.16+ 中,如何使用变量添加列来指示列名?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用具有多个源列的 pandas_udf 将多个列添加到 pyspark DF?
使用 Sylius 0.16 和 Payum 实施异地支付网关时如何完成订单