我有一个重复的列名a,b和b的数据框。我想将第二个b重命名为c。
df = pd.DataFrame({"a": [1, 2, 3], "b": [4, 5, 6], "b1": [7, 8, 9]})
df.rename(index=str, columns={'b1' : 'b'})
尝试不成功。
df.rename(index=str, columns={2 : "c"})
答案 0 :(得分:3)
尝试:
>>> df.columns = ['a', 'b', 'c']
>>> df
a b c
0 1 4 7
1 2 5 8
2 3 6 9
答案 1 :(得分:1)
您始终可以随时手动重命名所有列。
df.columns = ['a', 'b', 'c']
答案 2 :(得分:0)
您可以简单地做到:
df.columns = ['a','b','c']
答案 3 :(得分:0)
如果您的列是有序的,并且您希望使用字母列,请不要手动键入名称。这很容易出错。
假设您最多有26列,则可以使用string.ascii_lowercase
:
from string import ascii_lowercase
df = pd.DataFrame(columns=['a', 'b', 'b1'])
df.columns = list(ascii_lowercase[:len(df.columns)])
print(df.columns)
Index(['a', 'b', 'c'], dtype='object')