繁体   English   中英

如何将索引列转换为数字?

[英]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 ,也可以将其传递给管道。

您可以使用astypesort_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.

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