pandas以','做分隔符将某个数据分成多列
时间: 2023-12-08 20:06:57 浏览: 131
可以使用`pandas`的`str.split()`函数将某个数据分成多列,并且以逗号作为分隔符。例如,假设我们有以下数据:
```
data = ['John,Smith,35', 'Jane,Doe,28', 'Bob,Johnson,45']
```
我们可以将每个字符串按照逗号进行分割,并且将结果放入一个`DataFrame`中,代码如下:
``` python
import pandas as pd
data = ['John,Smith,35', 'Jane,Doe,28', 'Bob,Johnson,45']
df = pd.DataFrame([x.split(',') for x in data], columns=['First Name', 'Last Name', 'Age'])
print(df)
```
输出结果如下:
```
First Name Last Name Age
0 John Smith 35
1 Jane Doe 28
2 Bob Johnson 45
```
在这里,我们使用了列表推导式将每个字符串按逗号分割,并且将结果放入一个`DataFrame`中。`columns`参数用于指定每列的名称。
相关问题
pandas以','做分隔符分成多列
是的,pandas可以使用逗号作为分隔符将一列数据分割成多列。可以使用`pandas.read_csv()`函数来读取CSV文件,并使用`sep`参数设置分隔符为逗号。例如,假设我们有以下的CSV文件:
```
name,age,gender
Alice,25,F
Bob,30,M
Charlie,35,M
```
我们可以使用以下代码将其读入为一个DataFrame,并将每一列分割为多个子列:
```python
import pandas as pd
df = pd.read_csv('data.csv', sep=',')
print(df)
```
输出:
```
name age gender
0 Alice 25 F
1 Bob 30 M
2 Charlie 35 M
```
在这个例子中,我们使用了逗号作为分隔符,将`name`、`age`和`gender`这三列数据分割成了多个子列。
df1只有一列且没有列名字,将这一列中的数据按照分隔符分成若干个列
如果你有一个只有一个无名列的`df1` DataFrame,且想要根据某个特定的分隔符(例如逗号、冒号等)将其拆分为多个列,你可以首先为这个列添加一个临时列名,然后再进行拆分。下面是一个简单的例子,我们将使用Python的pandas库:
```python
import pandas as pd
# 假设df1有如下数据
data = ["value1:info1,extra1", "value2:info2,extra2", "value3:info3,extra3"]
df1 = pd.DataFrame(data, index=[0, 1, 2], columns=['data']) # 添加列名'data'
# 为列添加临时名称以便后续操作
df1['temp_column'] = df1['data']
# 按照分隔符(这里以逗号为例)拆分数据
df1 = df1.explode('temp_column').rename_axis(None, axis=1).reset_index(drop=True)
df1[['new_column1', 'new_column2']] = df1['temp_column'].str.split(':', expand=True)
# 删除原始的'data'和'temp_column'
df1 = df1.drop(['data', 'temp_column'], axis=1)
print(df1)
```
这会生成一个新的DataFrame,其中原有的数据被按指定分隔符拆分成两个新列`new_column1`和`new_column2`。
阅读全文