[英]How to convert index column to numeric?
我有一个数据框,其索引行是字符串数据类型。 我希望它是数字并排序:
col1 col2
1 25 33
3 35 544
2 24 52
预期:
col1 col2
1 25 33
2 24 52
3 35 544
首先,使用pd.to_numeric
转换和分配。
df.index = pd.to_numeric(df.index, errors='coerce')
要按其索引对DataFrame进行排序,请调用df.sort_index
:
df.sort_index()
col1 col2
1 25 33
2 24 52
3 35 544
如果要进行就地操作,则可以为第二个命令指定inplace=True
,也可以将其传递给管道。
您可以使用astype
和sort_index
In [833]: df.index
Out[833]: Index([u'1', u'3', u'2'], dtype='object')
In [834]: df.index = df.index.astype(int)
In [837]: df = df.sort_index()
In [838]: df
Out[838]:
col1 col2
1 25 33
2 24 52
3 35 544
In [839]: df.index
Out[839]: Int64Index([1, 2, 3], dtype='int64')
或者 ,使用set_index
的单个班轮
In [851]: df.set_index(df.index.astype(int)).sort_index()
Out[851]:
col1 col2
1 25 33
2 24 52
3 35 544
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.