pandas datafrane 分列
时间: 2023-12-02 10:39:39 浏览: 41
pandas DataFrame 分列可以通过多种方式实现,以下是其中的两种方法:
方法一:使用 str.split() 函数将一列数据按照指定分隔符分割成多列数据。
例如,假设有一个名为 df 的 DataFrame,其中有一列名为 "Name",每个元素都是由逗号分隔的两个字符串,我们可以使用以下代码将其分割成两列:
```
df[['First Name', 'Last Name']] = df['Name'].str.split(',', expand=True)
```
方法二:使用 pandas 的 Series.str.extract() 函数从一列数据中提取多个子字符串,并将它们分配到多个新列中。
例如,假设有一个名为 df 的 DataFrame,其中有一列名为 "Address",每个元素都包含了省份、城市和街道地址信息,我们可以使用以下代码将其分割成三列:
```
df[['Province', 'City', 'Street']] = df['Address'].str.extract('^(.*省)?(.*市)?(.*)$')
```
其中,正则表达式 "^(.*省)?(.*市)?(.*)$" 匹配了以可选的省份、可选的城市和必选的街道地址组成的字符串,并将它们分别提取到三个新列中。
相关问题
pandas dataframe分列
Pandas是Python数据处理和分析的常用工具,DataFrame是Pandas的一个重要数据结构。对于DataFrame中的某一列,可以通过split函数进行分列操作。
例如,假设我们有如下的DataFrame:
```
import pandas as pd
data = {'Name': ['Tom', 'Jack', 'Steve', 'Ricky'],
'Age': [28, 34, 29, 42],
'Address': ['Beijing China', 'New York US', 'London UK', 'Delhi India']}
df = pd.DataFrame(data)
```
我们想要将Address列按照空格进行分割成两列,可以使用split函数:
```
new = df['Address'].str.split(" ", n = 1, expand = True)
df["City"]= new
df["Country"]= new
```
这里的split函数将Address列按照空格进行分割,n=1表示只进行一次分割,expand=True表示将分割后的结果扩展成新的列。最后我们将分割后得到的两列添加到原始的DataFrame中,得到新的DataFrame。
pandas list分列
在pandas中,可以使用`str.split()`方法将一个包含多个值的列拆分成多个列。首先,将包含多个值的列转换为字符串类型,然后使用`str.split()`方法指定分隔符进行拆分。
下面是一个示例代码:
```python
import pandas as pd
# 创建一个包含多个值的列
data = {'col1': ['A|B|C', 'D|E|F', 'G|H|I']}
df = pd.DataFrame(data)
# 使用str.split()方法将列拆分成多个列
df[['col1_1', 'col1_2', 'col1_3']] = df['col1'].str.split('|', expand=True)
# 打印结果
print(df)
```
运行以上代码,输出结果如下:
```
col1 col1_1 col1_2 col1_3
0 A|B|C A B C
1 D|E|F D E F
2 G|H|I G H I
```
在这个示例中,我们使用`str.split()`方法将`col1`列按照竖线符号(|)进行拆分,并将拆分后的值分别存储到新的列`col1_1`、`col1_2`和`col1_3`中。