pandas 创建新列
时间: 2024-06-05 08:04:11 浏览: 21
在pandas中,可以通过给DataFrame对象新增一个新的列来创建新列。可以使用赋值运算符将一个Series对象或numpy数组分配给DataFrame中的新列。例如,假设我们有一个DataFrame对象df,我们想要创建一个新列,其值是df的两个现有列的和。我们可以这样做:
```
df['new_column'] = df['column1'] + df['column2']
```
这将在df中创建一个名为'new_column'的新列,并将其设置为'column1'和'column2'列的和。
还可以使用lambda函数创建新列,例如:
```
df['new_column'] = df['column1'].apply(lambda x: x**2)
```
这将在df中创建一个名为'new_column'的新列,并将其设置为'column1'列的平方。
相关问题
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”。
pandas添加新列
在pandas中,可以使用`df['新列名'] = 值`的方式来添加新列。这里的`df`是一个DataFrame对象,可以是从文件中读取的数据,也可以是手动创建的数据。
例如,我们有以下的DataFrame对象:
```
import pandas as pd
data = {'姓名': ['张三', '李四', '王五'],
'年龄': [20, 25, 30]}
df = pd.DataFrame(data)
```
要添加一个新列,可以使用以下代码:
```
df['性别'] = ['男', '男', '女']
```
这样就在DataFrame中添加了一个名为"性别"的新列,并赋予了相应的值。