ga9*_*dil 4 python dataframe pandas
我有一个相当大的 DataFrame(~500 列和 >5000 行)。我想为前 15 列添加一个前缀。我找到了一个函数add_prefix(),它可以一次为所有列设置前缀。我尝试了以下方法:
df[df.columns[range(0,15)]] = df[df.columns[range(0,15)]].add_prefix('f_')
Run Code Online (Sandbox Code Playgroud)
与'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
Run Code Online (Sandbox Code Playgroud)
我想要的是:
>>>
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
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
鉴于索引不支持可变操作,您不能像当前那样直接分配前缀。因此,您必须再次重新分配所有列。这是使用列表理解来实现的一种方法:
df.columns = ['f_' + i if ix < 15 else i for ix, i in enumerate(df.columns)]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1398 次 |
| 最近记录: |