gpt4 book ai didi

python - Pandas sort_values 没有正确排序数字

转载 作者:行者123 更新时间:2023-11-28 21:02:31 27 4
gpt4 key购买 nike

我是 pandas 的新手,在编程环境中处理表格数据。我按特定列对数据框进行了排序,但 Pandas 吐出的答案并不完全正确。

这是我使用的代码:

league_dataframe.sort_values('overall_league_position')

排序方法在“整体联赛排名”列中产生的值未按升序或顺序排序,这是该方法的默认值。

enter image description here

我做错了什么?感谢您的耐心等待!

最佳答案

无论出于何种原因,您似乎正在处理一列字符串,并且 sort_values 返回给您一个词法排序的结果。

这是一个例子。

df = pd.DataFrame({"Col": ['1', '2', '3', '10', '20', '19']})
df

Col
0 1
1 2
2 3
3 10
4 20
5 19

df.sort_values('Col')

Col
0 1
3 10
5 19
1 2
4 20
2 3

补救措施是将其转换为数字,使用 .astypepd.to_numeric

df.Col = df.Col.astype(float)

或者,

df.Col = pd.to_numeric(df.Col, errors='coerce')
df.sort_values('Col')

Col
0 1
1 2
2 3
3 10
5 19
4 20

b/w astypepd.to_numeric 的唯一区别是后者在处理非数字字符串时更健壮(它们被强制转换为 NaN),如果不需要强制 float (如本例所示),将尝试保留整数。

关于python - Pandas sort_values 没有正确排序数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47914274/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com