Python pandas sort_值返回意外结果
我试图使用pandas sort_values()函数对datafarame进行排序,但返回的结果以一种奇怪的方式进行排序,如所附图像所示问题是列Python pandas sort_值返回意外结果,python,pandas,Python,Pandas,我试图使用pandas sort_values()函数对datafarame进行排序,但返回的结果以一种奇怪的方式进行排序,如所附图像所示问题是列引用是表示数字的字符串,因此需要通过以下方式转换为数字: 如果由于数字中至少有一个字符串值与errors='concurve'一起用于将非数字转换为NaNs而不工作: au_df['Citation'] = pd.to_numeric(au_df['Citation'], errors='coerce') au_df_srtd = au_df.sort
引用
是表示数字的字符串,因此需要通过以下方式转换为数字:
如果由于数字中至少有一个字符串值与errors='concurve'
一起用于将非数字转换为NaN
s而不工作:
au_df['Citation'] = pd.to_numeric(au_df['Citation'], errors='coerce')
au_df_srtd = au_df.sort_values('Citations')
因为它们必须是字符串,所以请尝试使用:
您的引文列似乎是字符串类型。将其转换为数字,然后进行排序。我检查了
au_df_srtd.dtypes',然后返回所有的dtype:object`columns@E.Aly好的,检查我的或耶斯雷尔的回答你更快了7秒,用到\u numeric
tho。
au_df['Citation'] = pd.to_numeric(au_df['Citation'], errors='coerce')
au_df_srtd = au_df.sort_values('Citations')
au_df['Citations'] = au_df['Citations'].astype(int)
au_df_srtd = au_df.sort_values('Citations')