首页 > 解决方案 > 如何在 Pandas 中创建动态列名?

问题描述

我有一个数字列列表,[NumColumns]我想对所有列进行 Bin,但我也想将原始值保留在数据框中,所以我不希望简单地替换这些值。我怎样才能做到这一点?

我试过这个(可以替换) -

data[NumColumns] = pd.cut(data[NumColumns], bins=[0,30,70,100], labels=["Low", "Mid", "High"])

我希望它不会替换,而是在末尾添加“_bin”,这样我最终会得到 value_bin、receiver_bin、age_bin 等。

我不知道该怎么做,因为我必须在左侧声明它。我想知道有没有通用的方法?

标签: pythonpandas

解决方案


我认为最简单的是使用f-strings:

for c in NumColumns:
    data[f'{c}_bin'] = pd.cut(data[c], bins=[0,30,70,100], labels=["Low", "Mid", "High"])

推荐阅读