我有以下名为 index
的 Pandas DataFrame:
tz
521.0
Africa/Cairo 3.0
Africa/Casablanca 1.0
Africa/Ceuta 2.0
Africa/Johannesburg 1.0
dtype: float64
当我应用
index.argsort()
时,我得到如下信息:tz
2
Africa/Cairo 4
Africa/Casablanca 3
Africa/Ceuta 1
Africa/Johannesburg 0
dtype: int64
有人可以向我解释数字:
2,4,3,1,0
的来源吗?我知道它们的索引范围从 0 到 4,但我找不到它们的顺序中的任何逻辑。 最佳答案
如果要排序,argsort
返回正在排序的值的索引位置。请记住,这是一个 numpy 函数,将其分配给系列或数据帧索引是错误的。
2
指的是在 2
位置(第 3 个)中的 item 是最小值1.0
4
指的是 4
位置(第 5 个)中的项目是下一个1.0
3
(4th position) was a 2.0
1
(2nd position) was a 3.0
0
(第一个位置)是一个 521.0
和最大的 分配给数组并用作切片更合适
a = s.values.argsort()
s.iloc[a]
tz
Africa/Casablanca 1.0
Africa/Johannesburg 1.0
Africa/Ceuta 2.0
Africa/Cairo 3.0
521.0
Name: value, dtype: float64
关于python - np.argsort 如何在 Pandas DataFrame 中工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39174810/