Python: 如何从数据框列中找到第 n 个最小值?
Python: How to find nth minimum value from a dataframe column?
有如下数据框:
Store Row_no
11 56
11 57
11 58
12 89
12 90
12 91
12 92
每个商店需要从 Row_no 中获得第三个最小值。预期输出如下。
Store Row_no
11 58
12 91
已尝试 df.Row_no.nsmallest(3)
但效果不同。任何帮助将不胜感激。谢谢!
使用DataFrame.sort_values
with GroupBy.nth
:
df = df.sort_values(['Store','Row_no']).groupby('Store', as_index=False).nth(2)
print (df)
Store Row_no
2 11 58
5 12 91
有如下数据框:
Store Row_no
11 56
11 57
11 58
12 89
12 90
12 91
12 92
每个商店需要从 Row_no 中获得第三个最小值。预期输出如下。
Store Row_no
11 58
12 91
已尝试 df.Row_no.nsmallest(3)
但效果不同。任何帮助将不胜感激。谢谢!
使用DataFrame.sort_values
with GroupBy.nth
:
df = df.sort_values(['Store','Row_no']).groupby('Store', as_index=False).nth(2)
print (df)
Store Row_no
2 11 58
5 12 91