【发布时间】:2020-07-15 05:04:14
【问题描述】:
我有一个大约 1000 行的 pandas 数据框。这是适用于我的问题的虚构版本。如果我想在交易数量超过 10 时过滤掉交易 ID,这将留下单个交易 ID(例如第二个 523 会下降并留下第一个)。
我知道我需要查找交易数量列并找到小于 10 的值,然后从该行返回交易 ID,然后删除交易 ID 匹配的行。
我知道这是不正确的,但这是我以前的情况。
df.drop(df[df['Trade Quantity'] < 10], inplace =True
iloc 语句可以工作吗?并返回索引
理想情况下,数据框将被更新,使其左侧只有贸易 ID 487,我的代码对于最后两行没有问题,因为它们的贸易数量都低于 10,但问题在于一个数量高于阈值和一个低于。有关所需的输出,请参见下图。
【问题讨论】:
-
欢迎来到 SO。你通常是在正确的方向。为了让其他人重现您的挑战并提出解决方案,您能否在您的问题中包含输入数据框作为文本 - 以及预期的输出?
-
在你的情况下,
drop是多余的试试这个df[df['Trade Quantity'] > 10] -
抱歉更新了这个问题,所以希望我想做什么更有意义!感谢您的帮助
-
您希望所有行的交易 ID 都超过 10?
-
是的,但不完全是,我的问题是您看到的第一行交易 ID 有一个超过 10 和一个低于 10。如果只有一侧超过 10,我希望删除交易 ID。跨度>