如何重命名像名称这样的数字的数据框列?
how to rename a dataframe column which is a digit like name?
我有一个包含 10 个不同数字的数据框列。通过 pd.get_dummies
我有 10 个新列,列名是数字。然后我想用 df = df.rename(columns={'0':'topic0'})
重命名这些数字命名列但失败了。如何将这些列的名称从数字重命名为字符串?
使用示例数据框,您可以执行以下操作:
d = {0: [1, 2], 1: [3, 4]}
df = pd.DataFrame(data=d)
你可以这样做,例如:
df.rename(index=str, columns={0: "a", 1: "c"})
然后使用此方法重命名其他列。
紧凑:
for x in range(3):
df.rename(index=str, columns={x: "topic"+str(x)})
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
我有一个包含 10 个不同数字的数据框列。通过 pd.get_dummies
我有 10 个新列,列名是数字。然后我想用 df = df.rename(columns={'0':'topic0'})
重命名这些数字命名列但失败了。如何将这些列的名称从数字重命名为字符串?
使用示例数据框,您可以执行以下操作:
d = {0: [1, 2], 1: [3, 4]}
df = pd.DataFrame(data=d)
你可以这样做,例如:
df.rename(index=str, columns={0: "a", 1: "c"})
然后使用此方法重命名其他列。
紧凑:
for x in range(3):
df.rename(index=str, columns={x: "topic"+str(x)})
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