use*_*846 4 python search contains dataframe pandas
我有一个数据框,我希望通过逐一检查所有行中所有列中是否存在关键字来获取子集。这是片段:
df.apply(lambda x: x.str.contains('TEST')).any()
Run Code Online (Sandbox Code Playgroud)
但因为并非所有列值都是字符串类型,所以它会抛出错误:
AttributeError: ('只能使用带有字符串值的 .str 访问器
任何帮助表示赞赏。
这里没有例子就盲目飞行,但是怎么样:
df.apply(lambda row: row.astype(str).str.contains('TEST').any(), axis=1)
因此,例如:
import numpy as np
import pandas as pd
np.random.seed(0)
df = pd.DataFrame(np.random.choice(['0.0', 'Hello', 'Goodbye'], (12, 3)))
df.apply(lambda row: row.astype(str).str.contains('Hello').any(), axis=1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12440 次 |
| 最近记录: |