Dan*_*rke 2 python numpy dataframe pandas
我有一个数据框numpy.float64作为列名称。
df =
2006.0 2007.0 2008.0 2009.0
0 foo foo bar bar
1 foo foo bar bar
Run Code Online (Sandbox Code Playgroud)
我想将它们更改为字符串并删除小数位:
df =
2006 2007 2008 2009
0 foo foo bar bar
1 foo foo bar bar
Run Code Online (Sandbox Code Playgroud)
我尝试将列保存到列表中并df.columns.tolist()在那里更改它们,但我没有运气。
任何帮助将不胜感激!
您可以使用以下方式转换类型.astype
In [312]: df.columns = df.columns.astype(int)
In [313]: df
Out[313]:
2006 2007 2008 2009
0 foo foo bar bar
1 foo foo bar bar
Run Code Online (Sandbox Code Playgroud)
或者使用.map并转换为字符串类型。
In [338]: df.columns.map('{:g}'.format)
Out[338]: Index(['2006', '2007', '2008', '2009'], dtype='object')
In [319]: df.columns.map(int)
Out[319]: Int64Index([2006, 2007, 2008, 2009], dtype='int64')
Run Code Online (Sandbox Code Playgroud)