熊猫sort_values返回意外结果

时间:2019-11-05 07:58:23

标签: python pandas

我正在尝试使用pandas sort_values()函数对datafarame进行排序,但是返回的结果以一种奇怪的方式进行了排序,如所附的enter image description here

所示。

2 个答案:

答案 0 :(得分:2)

问题是列Citation是数字的字符串代表,因此需要通过Series.astype转换为数字:

au_df['Citation'] = au_df['Citation'].astype(int)
au_df_srtd = au_df.sort_values('Citations')

如果由于数字中的至少一个字符串值不起作用而将to_numericerrors='coerce'一起使用,则将非数字转换为NaN s:

au_df['Citation'] = pd.to_numeric(au_df['Citation'], errors='coerce')
au_df_srtd = au_df.sort_values('Citations')

答案 1 :(得分:2)

因为它们必须是字符串,所以请尝试使用astype

au_df['Citations'] = au_df['Citations'].astype(int)
au_df_srtd = au_df.sort_values('Citations')