Python 将列值(和类型)更改为数据帧
我正在尝试重命名pandas dataframes中的列,但是不同的dataframes具有不同类型的列,我需要帮助。一个简单的例子将向您阐明我的问题Python 将列值(和类型)更改为数据帧,python,pandas,Python,Pandas,我正在尝试重命名pandas dataframes中的列,但是不同的dataframes具有不同类型的列,我需要帮助。一个简单的例子将向您阐明我的问题 import pandas as pd dic1 = {'a': [4, 1, 3, 1], 'b': [4, 2, 1, 4], 'c': [5, 7, 9, 1]} dic2 = {1: [4, 1, 3, 1], 2: [4, 2, 1, 4], 3: [5, 7, 9, 1]} df1 = pd.DataFrame(dic1) df2
import pandas as pd
dic1 = {'a': [4, 1, 3, 1], 'b': [4, 2, 1, 4], 'c': [5, 7, 9, 1]}
dic2 = {1: [4, 1, 3, 1], 2: [4, 2, 1, 4], 3: [5, 7, 9, 1]}
df1 = pd.DataFrame(dic1)
df2 = pd.DataFrame(dic2)
现在如果我打字
df1.columns.values[-1] = 'newName'
df2.columns.values[-1] = 'newName'
我可以很容易地更改第一个数据帧的最后一个列名,但是如果我键入
df1.columns.values[-1] = 'newName'
df2.columns.values[-1] = 'newName'
我从Python收到一条错误消息,因为第二个数据帧中的列的类型不同。有没有办法更改这些列的类型和/或让Python以某种方式理解,即使是df2的最后一列也必须命名为“newName”?这不是重命名列的常规方法,您应该使用以下方法:
In [95]:
df2.rename(columns={df2.columns[-1]:'newName'}, inplace=True)
df2
Out[95]:
1 2 newName
0 4 4 5
1 1 2 7
2 3 1 9
3 1 4 1