gpt4 book ai didi

python - Pandas - 如何选择其中包含特定值的行

转载 作者:行者123 更新时间:2023-11-30 21:55:26 24 4
gpt4 key购买 nike

我试图选择包含“--->”的所有行,但只获取其中的一些行。我想查看整行是否在任何“单元格”中包含“--->”。

import pandas as pd

df = pd.DataFrame({'A':['1--->3','4','6',''],'B':['2','4','--->8','4'],'C'['5','0','4','2--->']})
print df
print "------------------------------"

st = df[df[df.columns.any()].str.contains("--->", na=False)]

print st

print "------------------------------"

rm = df.loc[df[df.columns.all(0)].str.contains("--->", na=False)]
print rm

rev = df[~df[df.columns.all()].str.contains('^((?!--->).)*$',
regex=True,na=False)]

print rev

A B C
0 1--->3 2 5
1 4 4 0
2 6 --->8 4
3 4 2--->
------------------------------

第一输出

        A  B  C
0 1--->3 2 5
------------------------------

rm输出

  A  B      C
3 4 2--->

转速输出 ABC 3 4 2--->

我期待看到

        A      B      C
0 1--->3 2 5
2 6 --->8 4
3 4 2--->

最佳答案

您需要stack数据帧,以便您可以对堆叠值使用 str 访问器。这为您提供了数据帧的每个单元格值的 bool 值。 unstack 然后 .any(1)设置一行中是否有任何元素为 True。

df[df.stack().str.contains('--->').unstack().any(1)]

输出:

        A   B       C
0 1--->3 2 5
2 6 --->8 4
3 4 2--->

关于python - Pandas - 如何选择其中包含特定值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56760913/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com