dataframe将一列拆分为多列
时间: 2023-09-11 16:11:49 浏览: 395
可以使用`pandas`库中的`str.split()`方法将一列数据拆分为多列。假设我们有以下的`DataFrame`,其中`name`列中的数据需要拆分:
```python
import pandas as pd
df = pd.DataFrame({'name': ['John Smith', 'Jane Doe', 'Bob Johnson']})
```
我们可以使用`str.split()`方法将`name`列拆分为`first_name`列和`last_name`列:
```python
df[['first_name', 'last_name']] = df['name'].str.split(' ', expand=True)
```
这里的`expand=True`表示将拆分出的多个列扩展为新的列。最终得到的`DataFrame`如下:
```
name first_name last_name
0 John Smith John Smith
1 Jane Doe Jane Doe
2 Bob Johnson Bob Johnson
```
相关问题
dataframe将一列拆分成两列
你可以使用split函数将一个列拆分成两列。首先,使用split函数将列的值按照指定的分隔符进行拆分,设置参数expand为True可以将结果转换为DataFrame。然后,使用drop函数删除原来的列。以下是一个示例代码:
```python
df[['a', 'b']] = df['row'].str.split(' ', expand=True)
df.drop(axis=1, columns='row', inplace=True)
```
在这个例子中,将名为'row'的列按空格进行拆分,并将拆分后的结果分别赋值给新的两列'a'和'b'。最后,使用drop函数删除原来的'row'列。 for j in df3_new['migrate']]
l2 = [list(k)[1 for k in df3_new['migrate']]
df3_new['地区'] = l1
df3_new['city'] = l2
df3_new1 = df3_new.drop('migrate', axis=1)
```
在这个例子中,我们使用循环遍历df3_new中的每一行,并使用列表解析将'migrate'列中的元组拆分成两个列表'l1'和'l2'。然后,将这两个列表分别赋值给新的两列'地区'和'city'。最后,使用drop函数删除原来的'migrate'列,并将结果保存到df3_new1中。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [Python Pandas:DataFrame 一列切分成多列、分隔符切分选字段](https://blog.csdn.net/baidu_40468340/article/details/128263235)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [DataFrame 中某一列是元组形式拆成两列](https://blog.csdn.net/weixin_42080294/article/details/89318899)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [Dataframe一列分割成多列](https://blog.csdn.net/weixin_46599926/article/details/122985897)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
pandas 将dataframe一列数据拆分为多列
可以使用 pandas 的 str.split 方法将一列数据按照指定分隔符拆分成多列。
例如,假设有如下数据:
```python
import pandas as pd
data = pd.DataFrame({'A': ['1-2-3', '4-5-6', '7-8-9']})
data
```
输出:
```
A
0 1-2-3
1 4-5-6
2 7-8-9
```
要将列 A 拆分为三列,可以使用如下代码:
```python
data[['B', 'C', 'D']] = data['A'].str.split('-', expand=True)
data = data.drop('A', axis=1)
data
```
输出:
```
B C D
0 1 2 3
1 4 5 6
2 7 8 9
```
以上代码的思路是:
1. 使用 str.split 方法将列 A 按照分隔符 '-' 拆分成多列。
2. 使用 expand=True 参数将拆分后的列转换为 DataFrame。
3. 将新的 DataFrame 按列合并到原始数据中。
4. 删除原始数据中的列 A 列。
这样就可以将一列数据拆分为多列了。
阅读全文