gpt4 book ai didi

python - 向数据框切片中的列添加前缀

转载 作者:太空宇宙 更新时间:2023-11-03 14:38:10 25 4
gpt4 key购买 nike

我有一个相当大的 DataFrame(约 500 列和 >5000 行)。我想为前 15 列添加前缀。我找到了一个名为 add_prefix() 的函数,它可以一次为所有列设置前缀。我尝试了以下方法:

df[df.columns[range(0,15)]] = df[df.columns[range(0,15)]].add_prefix('f_')

'f_' 是我想添加的前缀。然而,输出似乎没有改变。

>>>
mean std var ... 525 526 label
0 -2.546261 17.827072 317.804485 ... -0.314016 -0.310878 0.0
1 -2.338710 17.915556 320.967136 ... -0.345603 -0.343088 0.0
2 -2.095051 17.539407 307.630788 ... -0.323596 -0.324990 0.0
3 -1.685209 18.257797 333.347150 ... -0.310060 -0.320796 0.0
4 -1.846169 17.240523 297.235618 ... -0.318660 -0.322732 0.0

我想要的是:

>>>
f_mean f_std f_var ... 525 526 label
0 -2.546261 17.827072 317.804485 ... -0.314016 -0.310878 0.0
1 -2.338710 17.915556 320.967136 ... -0.345603 -0.343088 0.0
2 -2.095051 17.539407 307.630788 ... -0.323596 -0.324990 0.0
3 -1.685209 18.257797 333.347150 ... -0.310060 -0.320796 0.0
4 -1.846169 17.240523 297.235618 ... -0.318660 -0.322732 0.0

我做错了什么?

最佳答案

鉴于索引不支持可变操作,您不能像当前那样直接分配前缀。因此,您将不得不再次重新分配所有列。这是使用列表推导式执行此操作的一种方法:

df.columns = ['f_' + i if ix < 15 else i for ix, i in enumerate(df.columns)]

关于python - 向数据框切片中的列添加前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55849739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com