Как переименовать столбец dataframe, который является цифрой, как имя? - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть столбец dataframe содержит 10 разных цифр.Через pd.get_dummies у меня есть 10 новых столбцов, имена столбцов которых являются числами.Затем я хочу переименовать эти столбцы с именованным числом в df = df.rename(columns={'0':'topic0'}), но не удалось.Как я могу переименовать имя этих столбцов из чисел в строки?

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Использование 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
0 голосов
/ 26 февраля 2019

С примером кадра данных вы можете сделать:

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)})
...