python - 如何重命名类似于名称的数字的数据框列?
问题描述
我有一个数据框列包含 10 个不同的数字。通过pd.get_dummies
我有 10 个新列,列名是数字。然后我想重命名这些数字命名的列,df = df.rename(columns={'0':'topic0'})
但失败了。如何将这些列的名称从数字重命名为字符串?
解决方案
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