我有一个数据集,我想在其中找到所有包含-JP-
的对象。
每列中都有行包含此类数据:DE-JP-20438082/2066/A2@qwinfhcaer.cu/68849
。
答案 0 :(得分:1)
filtered_data = df[df.column_name.str.contains('-JP-')]
此代码返回一个数据帧,其中列column_name
包含“ -JP-”
答案 1 :(得分:1)
如果要在所有列中查找符号,可以按照以下步骤进行操作。让我在名为df
的示例数据集上向您展示。
df = pd.DataFrame(
[
{'var_1': '23', 'var_2': '-JP-', 'var_3':'23'},
{'var_1': '24', 'var_2': '26', 'var_3':'3'},
{'var_1': 'ua', 'var_2': 'C', 'var_3':'ABDC'},
{'var_1': '26', 'var_2': '28', 'var_3':'Aaaa-JP-AAA'},
]
)
print(df)
var_1 var_2 var_3
0 23 -JP- 23
1 24 26 3
2 ua C ABDC
3 26 28 Aaaa-JP-AAA
现在,我定义函数并将其应用于我的数据框。我创建了一个列,您可以在其中查看数据框行的任何列中是否有选定的符号。
def is_sign_anywhere(row, sign, cols):
if any([sign in row[col] for col in cols]):
return True
return False
df['is_sign_in_row'] = df.apply(lambda row: is_sign_anywhere(row, '-JP-', df.columns), axis=1)
print(df)
var_1 var_2 var_3 is_sign_in_row
0 23 -JP- 23 True
1 24 26 3 False
2 ua C ABDC False
3 26 28 Aaaa-JP-AAA True
希望它能对您有所帮助。