pandas里面创建新的列除了assign还有什么方法怎么创建,官方方法,代码举例子
时间: 2023-05-15 14:07:57 浏览: 50
除了assign方法,pandas还提供了直接给DataFrame添加新列的方法,可以使用以下代码:
```python
import pandas as pd
# 创建一个DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
# 直接给DataFrame添加新列
df['C'] = [7, 8, 9]
# 打印结果
print(df)
```
输出结果为:
```
A B C
0 1 4 7
1 2 5 8
2 3 6 9
```
这种方法直接在原DataFrame上添加新列,不需要使用assign方法。
相关问题
pandas里面创建新的列怎么创建,官方方法,代码举例子
在 Pandas 中创建新的列可以使用 assign() 方法,示例如下:
```python
import pandas as pd
# 创建一个 DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
# 使用 assign() 方法创建新的列
df = df.assign(C=[7, 8, 9])
# 打印 DataFrame
print(df)
```
输出结果为:
```
A B C
0 1 4 7
1 2 5 8
2 3 6 9
```
在上面的示例中,我们使用 assign() 方法创建了一个名为 C 的新列,并将其赋值为 [7, 8, 9]。
pandas中创建新列
在Pandas中,可以通过以下方式创建新列:
1. 通过赋值创建新列:
```python
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [25, 30, 35, 40],
'gender': ['female', 'male', 'male', 'male']}
df = pd.DataFrame(data)
# 创建新列
df['profession'] = ['teacher', 'engineer', 'doctor', 'lawyer']
print(df)
```
输出结果:
```
name age gender profession
0 Alice 25 female teacher
1 Bob 30 male engineer
2 Charlie 35 male doctor
3 David 40 male lawyer
```
2. 通过apply方法创建新列:
```python
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [25, 30, 35, 40],
'gender': ['female', 'male', 'male', 'male']}
df = pd.DataFrame(data)
# 创建新列
df['age_group'] = df['age'].apply(lambda x: 'young' if x < 30 else 'old')
print(df)
```
输出结果:
```
name age gender age_group
0 Alice 25 female young
1 Bob 30 male old
2 Charlie 35 male old
3 David 40 male old
```
在上面的例子中,我们通过apply方法创建了一个新列,该列根据“age”列的值创建。如果“age”列的值小于30,则该新列的值为“young”,否则为“old”。