繁体   English   中英

将列值(和类型)更改为pandas Dataframe

[英]change column values (and type) to a pandas Dataframe

我正在尝试重命名pandas数据框中的列,但是不同的数据框具有不同的列类型,我需要帮助。 一个简单的例子将阐明您的问题。

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'

我从Python收到一条错误消息,因为第二个数据帧中的列是不同类型的。 有没有一种方法可以更改这些列的类型和/或以某种方式使Python理解,即使df2的最后一列也必须命名为“ newName”?

这不是重命名列的正常方法,您应该使用rename来做到这一点:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM