在python中对值进行排序

时间:2018-02-28 14:34:48

标签: python pandas sorting

我正在使用python(jupyter notebook)进行一些分析。我想通过函数sort_values()在我的熊猫数据框中对我的值进行排序。首先看起来它工作正常,但它只用于排序2个字符的数字(见图)。我该怎么做才能正确地为国家/地区排序值> 99?

enter image description here

1 个答案:

答案 0 :(得分:2)

问题值为string s,因此按字典顺序排序。

所以首先需要转换为数字:

df4 = df4.astype(int)

<强>示例

df4 = pd.Series(['102','11','10','10', '119', '14'])
print (df4)
0    102
1     11
2     10
3     10
4    119
5     14
dtype: object

print (df4.sort_values())
2     10
3     10
0    102
1     11
4    119
5     14
dtype: object

df4 = df4.astype(int)
print (df4.sort_values())
2     10
3     10
1     11
5     14
0    102
4    119
dtype: int32