如何以"-"为分隔符,对dataframe中名为"科目|明细"的一列分列为5列,该列并非每行都可以分裂为五个,数量不够的部分以空白填充。
时间: 2024-04-12 18:30:23 浏览: 96
Python DataFrame一列拆成多列以及一行拆成多行
5星 · 资源好评率100%
要将DataFrame中的一列按照指定的分隔符进行分列,并确保分列后的结果为5列,可以使用`str.split()`方法和`expand=True`参数。同时,可以使用`fillna()`方法将数量不够的部分用空白填充。下面是一种实现方法:
```python
import pandas as pd
# 创建示例DataFrame
data = {'科目|明细': ['A-B-C-D-E', 'F-G-H', 'I-J-K-L-M', 'N-O-P-Q-R-S']}
df = pd.DataFrame(data)
# 将列按照分隔符分列为5列
df[['科目', '明细1', '明细2', '明细3', '明细4']] = df['科目|明细'].str.split('-', expand=True)
# 使用空白填充数量不够的部分
df = df.fillna('')
# 打印结果
print(df)
```
在上述代码中,首先创建了一个示例DataFrame `df`,其中包含名为"科目|明细"的一列,其值包含了以"-"分隔的字符串。
然后使用`str.split()`方法将该列按照"-"进行分列,并通过`expand=True`参数将结果扩展为多列。分列后的结果为5列,分别命名为"科目"、"明细1"、"明细2"、"明细3"和"明细4"。
接下来使用`fillna()`方法将数量不够的部分用空白进行填充,确保每一行都有5个分列结果。
最后,打印结果的DataFrame `df`。注意,如果原始的"科目|明细"列不足5个分列结果,则用空白进行填充。
阅读全文