选择Pandas数据框中任何列包含字符串的所有行的最简洁方法是什么?
例如,给定以下数据框,选择任何列中的值包含的行的最佳方法是b什么?
df = pd.DataFrame({
'x': ['foo', 'foo', 'bar'],
'y': ['foo', 'foo', 'foo'],
'z': ['foo', 'baz', 'foo']
})
Run Code Online (Sandbox Code Playgroud)
我对熊猫没有经验,到目前为止我提出的最好的是相当麻烦的df[df.apply(lambda r: r.str.contains('b').any(), axis=1)].有更简单的解决方案吗?
关键的是,我想检查任何列中的匹配项,而不是特定列.我能说的其他类似问题只能解决一个列或一列列.
我有一个 DataFrame,我想找到它的所有排列,以在其中一列上实现简单的升序排序。(有很多关系。)例如,在下面的DataFrame中
df = pd.DataFrame({'name': ["Abe", "Bob", "Chris", "David", "Evan"],
'age': [28, 20, 21, 22, 21]})
Run Code Online (Sandbox Code Playgroud)
我希望按年龄排序并获取订单["Bob", "Chris", "Evan", "David", "Abe"]和["Bob", "Evan", "Chris", "David", "Abe"].
我是python(和pandas)的新手,并且很好奇是否有一种我没有看到的简单方法来做到这一点。
谢谢!