piR*_*red 5 python numpy pandas
这可能看起来像是检查非索引列是否在 Pandas 中排序的重复项
我读了那个帖子和所有的答案。没有人(保存一个答案)使用 numpy 地址。这一切都集中在 python 列表上。通过用numpy标签提出类似的问题,我相信我会得到不同类别的答案。说到这个问题。
考虑两个数组a和b。 b已排序,a而未排序。
a = np.array([2, 1, 3, 0])
b = np.arange(4)
Run Code Online (Sandbox Code Playgroud)
我写了这个函数来确定排序
def is_sorted(x):
return (np.arange(len(x)) == np.argsort(x)).all()
Run Code Online (Sandbox Code Playgroud)
我还能做些什么来改进这个想法?确定 a或是否已排序的最快pandas或numpy算法是什么?pd.Seriesnp.ndarray
is_sorted(a)
False
Run Code Online (Sandbox Code Playgroud)
is_sorted(b)
True
Run Code Online (Sandbox Code Playgroud)
对数组进行排序的时间复杂度为 O(nlogn),但判断数组是否已排序只需要 O(n)。
is_sorted = lambda x: (np.diff(x)>=0).all()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
974 次 |
| 最近记录: |