pandas中的dataframe怎么把其中一行拆成多行? | python | python 技术论坛-大发黄金版app下载
使用camelot识别pdf表格时将多行的数据识别成了一行,得到了类似下面的dataframe:
0 | 1 | |
---|---|---|
0 | 1.767\n2.122\n2.317\n2.433\n | 0.014\n4.461\n0.121\n0.020\n |
我该怎么把这一行中数据拆成多行,最后结果应该是这样的:
0 | 1 | |
---|---|---|
0 | 1.767 | 0.014 |
1 | 2.122 | 4.461 |
2 | 2.317 | 0.121 |
3 | 2.433 | 0.020 |
可以使用 pandas 中的字符串方法 str.split() 将每个单元格中的文本按照换行符分割成多行,然后使用 pandas 的 melt() 方法将列转换为行。
示例代码如下:
输出结果应该是这样的:
其中,第一列是原来 dataframe 中的索引列,我将其重置为了默认的整数索引并且删除了多余的列。
df.apply(lambda x :x.str.split("\\n").explode(),0)
模拟你的数据: