python - 从字符串列表中删除空字符串
问题描述
我的数据框中有一列包含具有这种结构的名称列表:
df['name']=[
['anna','karen','',]
['', 'peter','mark','john']
]
我想摆脱我用列表理解尝试过的空字符串
[[name for name in df['name'] if name.strip()] for df['name'] in df]
但这根本不起作用,有没有办法做到这一点?我还通过将空字符串替换为 nan 来使用 pandas 的 replace 方法,但这也不起作用,因为它总是抛出一个关键错误......
df['name'].replace('', np.nan)
解决方案
您可以使用过滤器功能做到这一点
df['name'] = [list(filter(None, sublist)) for sublist in df['name']]
推荐阅读
- python - 给定日期列表作为 Python 中的 DateTime 对象,如何计算每个月的第一个星期五?
- wso2 - WSO2中json有效负载的base64编码
- javascript - 如何在多行 innerHTML 属性的 javascript 中包含 if 语句?
- python - Python多处理-在父类和衍生类之间共享的多处理数组中处理数据的问题
- python-3.x - 使用 Pymoo 重新启动优化
- apache-kafka - 使用来自 Kafka 主题的消息并将它们存储在目录 /tmp/kakfa-messages 中
- python - 由另一列 pandas df 分组的值出现的总和
- angular - 如何在 Github 上的 .NET Core 项目中部署 Angular 应用
- sql - 如何使用 invoke-sqlcmd 从 Powershell 正确格式化 XML 输出
- azure-sql-database - Azure SQL。只读副本。有没有办法管理多少副本数据库并在它们之间配置负载平衡