df1 的某一列内容中根据\t将第这一列分成若干列的代码
时间: 2024-09-24 08:22:22 浏览: 33
在Pandas中,如果你想根据`\t`字符将DataFrame `df1` 中的一列数据分解成多个新的列,可以使用`str.split()`方法结合字典推导式来创建新的列。假设我们有一个名为`column_to_split`的列,以下是操作代码示例:
```python
import pandas as pd
# 假设df1有这样的数据结构
data = {
'Original_Column': ['Value1\tInfo1\tExtra1', 'Value2\tInfo2\tExtra2', 'Value3\tInfo3\tExtra3']
}
df1 = pd.DataFrame(data)
# 定义要分割的新列名称
new_columns = [f'split_{i}' for i in range(1, len(df1['Original_Column'].iloc[0].split('\t')) + 1)]
# 使用str.split()并创建新的DataFrame
df_split = pd.DataFrame(df1['Original_Column'].tolist(), columns=['temp'])
df_split = df_split.explode('temp').assign(**{col: df_split.temp.apply(lambda x: x.split('\t')[i]) for i, col in enumerate(new_columns)})
# 删除原始列和多余的临时列
df1.drop(columns='Original_Column', inplace=True)
df1 = pd.concat([df1, df_split.drop('temp', axis=1)], axis=1)
print(df1)
```
这会创建一个新的DataFrame,其中原来的那一列根据`\t`分割成了相应的新列。
阅读全文