pandas 把一列单元格里的数据 拆分成多列数据
时间: 2023-11-24 15:44:25 浏览: 71
可以使用 pandas 的 str.split() 方法将一列单元格里的数据拆分成多列数据。这个方法可以指定分隔符,并且可以选择将拆分后的数据放到多个新列中。
例如,假设有一个包含姓名和年龄的单元格,格式为 "姓名-年龄",现在想将它们拆分成两列数据:
``` python
import pandas as pd
# 创建一个包含姓名和年龄的 Series
data = pd.Series(['张三-25', '李四-30', '王五-28'])
# 使用 str.split() 方法将数据拆分成两列
split_data = data.str.split('-', expand=True)
split_data.columns = ['姓名', '年龄']
# 打印拆分后的数据
print(split_data)
```
输出:
```
姓名 年龄
0 张三 25
1 李四 30
2 王五 28
```
在上面的代码中,使用 str.split() 方法将数据拆分成两列,并将拆分后的数据放到新的 DataFrame 中。使用 expand=True 参数可以将拆分后的数据放到多列中,而不是放到一个新的 Series 中。最后给新的列命名,以便将其保存到 DataFrame 中。
相关问题
pandas 将一列列表数据拆分为多列
可以使用 pandas 的 Series.str 方法,将列表拆分成多列。
例如,假设有如下数据:
```python
import pandas as pd
data = pd.DataFrame({'A': [[1, 2], [3, 4], [5, 6]]})
data
```
输出:
```
A
0 [1, 2]
1 [3, 4]
2 [5, 6]
```
要将列表 A 拆分为两列,可以使用如下代码:
```python
data[['B', 'C']] = pd.DataFrame(data['A'].tolist(), index=data.index)
data = data.drop('A', axis=1)
data
```
输出:
```
B C
0 1 2
1 3 4
2 5 6
```
以上代码的思路是:
1. 将列表 A 转换成 DataFrame,其中每个元素都是一行。
2. 将 DataFrame 和原始数据的索引进行合并,确保每个元素的索引与原始数据的索引相同。
3. 将新的 DataFrame 按行合并到原始数据中。
4. 删除原始数据中的列表 A 列。
这样就可以将列表数据拆分为多列了。
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 列。
这样就可以将一列数据拆分为多列了。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)