如何从数据框中提取行,仅当一列的值高于另一列的值时?

0 投票
2 回答
22 浏览
提问于 2025-04-12 17:08

我有一个这样的数据表:

df = pd.DataFrame({'a': [100, 200, 300, 400],
                   'b': [80, 250, 500, 350]})

print(df)

     a    b
0  100   80
1  200  250
2  300  500
3  400  350

我想提取那些只有当'a'这一列的值大于'b'这一列的值时的行。

所以在我的例子中,我应该得到这个结果的数据表:

     a    b
0  100   80
3  400  350

谢谢

2 个回答

0

试试这个:

print(df.query("a > b"))

输出结果是:

     a    b
0  100   80
3  400  350
0

在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。这些问题可能会让我们感到困惑,不知道该怎么解决。比如,有人可能在使用某个功能时,发现它没有按照预期工作,或者出现了错误信息。这种情况下,通常我们会去网上查找解决方案,像是StackOverflow这样的平台就是一个很好的资源。

在这些平台上,很多人会分享他们遇到的问题和解决办法。你可以看到其他人是怎么描述他们的问题的,以及他们是如何解决的。这不仅能帮助你找到答案,还能让你学习到一些新的知识和技巧。

总之,遇到问题时,不要害怕去寻求帮助,网上有很多资源可以让你找到解决方案。记得多看看别人的经验,这样你会学得更快。

df = pd.DataFrame({'a': [100, 200, 300, 400],
                   'b': [80, 250, 500, 350]})

# Result
df.loc[df['a']>df['b'],:]

撰写回答