熊猫:重命名具有相同名称的列

时间:2018-10-08 12:24:47

标签: python pandas dataframe indexing

我有一个重复的列名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"})

4 个答案:

答案 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')
相关问题