【发布时间】:2021-11-02 22:06:58
【问题描述】:
我有一个熊猫数据框:
df
0 PL
1 PL
2 PL
3 IT
4 IT
..
4670 DE
4671 NO
4672 MT
4673 FI
4674 XX
Name: country_code, Length: 4675, dtype: object
我正在通过德国国家标签“DE”过滤此内容:
df = df[df.apply(lambda x: 'DE' in x)]
如果我想过滤更多国家/地区而不是手动添加它们:.apply(lambda x: 'DE' in x or 'GB' in x)。但是我想创建一个国家列表并自动生成此语句。
类似这样的:
countries = ['DE', 'GB', 'IT']
df = df[df.apply(lambda x: any_item_in_countries_list in x)]
我想我可以过滤 df 3 次,然后通过 concat() 将这些片段合并回来,但是是否有更通用的函数来实现这一点?
【问题讨论】:
标签: python pandas filter lambda