用pandas拆分单元格,单元格内容里包含新的列名和内容
时间: 2024-05-14 20:12:00 浏览: 56
可以使用pandas的str.split()函数和pandas的expand参数来拆分单元格内容,并在拆分后的新列中存储拆分结果。
假设我们有以下的DataFrame:
```
import pandas as pd
df = pd.DataFrame({'Name': ['John', 'Mary', 'Peter'],
'Info': ['Age: 25, Gender: Male', 'Age: 30, Gender: Female', 'Age: 27, Gender: Male']})
print(df)
```
输出:
```
Name Info
0 John Age: 25, Gender: Male
1 Mary Age: 30, Gender: Female
2 Peter Age: 27, Gender: Male
```
现在我们想要拆分Info列,并在新的列中存储Age和Gender信息。可以使用以下代码:
```
df[['Age', 'Gender']] = df['Info'].str.split(', ', expand=True)
df['Age'] = df['Age'].str.split(': ').str[1]
df['Gender'] = df['Gender'].str.split(': ').str[1]
df = df.drop('Info', axis=1)
print(df)
```
输出:
```
Name Age Gender
0 John 25 Male
1 Mary 30 Female
2 Peter 27 Male
```
在这个例子中,我们首先使用str.split()函数和expand参数将Info列拆分为两列(Age和Gender)。然后,我们使用str.split()函数将Age和Gender列中的冒号(:)分隔符去掉,以便只保留列的值。最后,我们使用drop()函数删除原始的Info列。
阅读全文