首页 > 解决方案 > 如何重命名类似于名称的数字的数据框列?

问题描述

我有一个数据框列包含 10 个不同的数字。通过pd.get_dummies我有 10 个新列,列名是数字。然后我想重命名这些数字命名的列,df = df.rename(columns={'0':'topic0'})但失败了。如何将这些列的名称从数字重命名为字符串?

标签: pythonpandasdummy-variable

解决方案


使用DataFrame.add_prefix

df = pd.DataFrame({'col':[1,5,7,8,3,6,5,8,9,10]})

df1 = pd.get_dummies(df['col']).add_prefix('topic')
print (df1)
   topic1  topic3  topic5  topic6  topic7  topic8  topic9  topic10
0       1       0       0       0       0       0       0        0
1       0       0       1       0       0       0       0        0
2       0       0       0       0       1       0       0        0
3       0       0       0       0       0       1       0        0
4       0       1       0       0       0       0       0        0
5       0       0       0       1       0       0       0        0
6       0       0       1       0       0       0       0        0
7       0       0       0       0       0       1       0        0
8       0       0       0       0       0       0       1        0
9       0       0       0       0       0       0       0        1

推荐阅读