python - 熊猫爆炸用空单元格创建行
问题描述
我是熊猫新手。我正在尝试将字符串拆分为多行。
我将其拆分为一个列表,然后尝试将其分解。当我分解一个列表时,我得到一行我不想要的空值。
df = df.assign(
col_a=df["col_a"].str.split("X:")
).explode("col_a")
col_a col_b ...lots of columns with different things
X: word1 X: word2 a
X: word2 X: word3 b
X: word2 c
变成:
col_a col_b ...lots of columns with different things
a
X: word1 a
X: word2 a
b
X: word2 b
X: word3 b
c
X: word2 c
我想要类似的东西:
col_a col_b ...lots of columns with different things
word1 a
word2 a
word2 b
word3 b
word2 c
如何摆脱这些空单元格?我根本不想要那些行。
谢谢!
解决方案
您可以尝试删除X:
之前的开始split
:
df.assign(
col_a = df.col_a.str.replace('^X: ', '').str.split(' X: ')
).explode('col_a')
# col_a col_b
#0 word1 a
#0 word2 a
#1 word2 b
#1 word3 b
#2 word2 c
推荐阅读
- ruby-on-rails - rails 生成的 CSV 文件无法下载
- javascript - 为什么 $ne: null 返回空数组?
- python - 在python中将csv文件列存储为数组
- php - 卷曲给我一个错误,只删除 CURLOPT_USERAGENT 和 CURLOPT_HTTPHEADER 它有效
- c++ - 非 void 函数不返回值
- datadog - Datadog解析json数组
- postgresql - PostgreSQL 仅在存在时重命名列
- angular - 在您按下编辑按钮之前,应阻止所有输入和下拉菜单(无法写入或选择选项)。为什么它不起作用?
- c++ - std::codecvt 的受保护析构函数
- hive - Hive 列-换行符