如何编辑df.columns中的多个元素

4
例如,列的元素为['a','b',2006.0,2005.0,...,1995.0] 现在,我希望将浮点型变成整型,因此列的正确元素应该是['a','b',2006,2005,...,1995] 由于这里有很多数字,我认为rename(columns={'old name': 'new name'})不是一个好主意。有人能告诉我如何编辑它吗?
2个回答

8
你可以这样做:
In [49]: df
Out[49]:
   a  b  2006.0  2005.0
0  1  1       1       1
1  2  2       2       2

In [50]: df.columns.tolist()
Out[50]: ['a', 'b', 2006.0, 2005.0]

In [51]: df.rename(columns=lambda x: int(x) if type(x) == float else x)
Out[51]:
   a  b  2006  2005
0  1  1     1     1
1  2  2     2     2

谢谢您的帮助! - Kai

3

我认为你可以使用列表推导式

print (df.columns.tolist())
['a', 'b', 2006.0, 2005.0, 1995.0]

print ([int(col) if type(col) == float else col for col in df.columns])
['a', 'b', 2006, 2005, 1995]

df.columns =  [int(col) if type(col) == float else col for col in df.columns]
['a', 'b', 2006, 2005, 1995]

感谢您的帮助! - Kai

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接