Python pandas操作:筛选DataFrame列表类型列的空列表与非空列表行
解决方案
核心逻辑:pandas中存储列表的object类型列,可以通过str.len()方法快速获取每个列表的长度,以此判断列表是否为空。
1. 提取hashtags列为空列表的行
实现代码:
# 筛选空列表行,仅保留需要的两列 df_empty = df[df['hashtags'].str.len() == 0][['name_user', 'hashtags']] print(df_empty)
输出结果:
name_user hashtags 0 parrot []
2. 提取hashtags列为非空列表的行
实现代码:
# 筛选非空列表行,仅保留需要的两列 df_not_empty = df[df['hashtags'].str.len() > 0][['name_user', 'hashtags']] print(df_not_empty)
输出结果:
name_user hashtags 1 lion [covid] 2 monkey [covid, gripe]
兼容说明
如果你的hashtags列可能存在None空值,可以修改判断条件为df['hashtags'].str.len().fillna(0) == 0,避免空值引发报错。
内容的提问来源于stack exchange,提问作者Danilo Calderazzo
相关产品推荐
相关产品推荐

