python - 如何在 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 等。
我不知道该怎么做,因为我必须在左侧声明它。我想知道有没有通用的方法?
解决方案
我认为最简单的是使用f-string
s:
for c in NumColumns:
data[f'{c}_bin'] = pd.cut(data[c], bins=[0,30,70,100], labels=["Low", "Mid", "High"])