繁体   English   中英

如何在Pandas DataFrame的特定列中达到最小值后删除行?

[英]How to drop rows after minimum value reached in specific column in Pandas DataFrame?

如果我有这样的熊猫数据框:

      Col A  Col B
 0      9      2
 1      7      1
 2      6      9
 3      3      3
 4      1      4
 5      6      3
 6      7      2
 7      9      1

在达到列A的最小值(为1)之后,如何删除所有行,这样我得到一个熊猫数据框,如下所示:

      Col A  Col B
 0      9      2
 1      7      1
 2      6      9
 3      3      3
 4      1      4
df[df.index<=df['Col A'].idxmin()]

尝试下面的代码,希望对您有所帮助。

df = pd.DataFrame({'Col A': [9,7,6,3,1,6,7,9],'Col B':[2,1,9,3,4,3,2,1]})
df_list = df['Col A'].tolist()
index = df_list.index(min(df_list))
df.iloc[:index+1]

Ouput将是:

  Col A     Col B
0   9       2
1   7       1
2   6       9
3   3       3
4   1       4

使用idxmin()

df = df.loc[:df['Col A'].idxmin()]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM