【问题标题】:Finding entries in a DataFrame that fall above a threshold [duplicate]在 DataFrame 中查找高于阈值的条目 [重复]
【发布时间】:2021-04-11 17:52:09
【问题描述】:

在一个名为 pd 的数据框中:

country 1980 1990 2000
India. 800 2000 3500
China 200 2000 1500
UK. 160 150 400

如何找到 2000 年的值大于 1000 的行?

我看到有两种方法:

pd.loc[pd['2000'] > 1000] 

pd[pd['2000'] > 1000]

这两种方法有区别吗?我看到它产生相同的结果,但不明白是否有区别。

谢谢

【问题讨论】:

标签: pandas dataframe


【解决方案1】:

第一种情况通常更好,因为第二种情况(索引数据框而不是使用df.loc)有时会返回数据副本,有时会根据使用方式返回视图。此处解释了差异:https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html?highlight=assigning%20view#indexing-view-versus-copy

我认为除非您分配给选择,否则这并不重要,但根据经验,最好在df.loc[] 中使用一系列选择标准,例如pd.loc[(pd['2000'] > 1000), 'columnName']

【讨论】:

  • 这太棒了!这就说得通了。在某种程度上,它更像是一种用途!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-07-19
  • 2018-03-14
  • 1970-01-01
  • 1970-01-01
  • 2011-05-30
  • 2021-09-01
  • 2020-06-23
相关资源
最近更新 更多