pandas 创建新列
时间: 2024-06-05 12:04:11 浏览: 89
在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 中增加新列,可以使用以下代码:
```python
import pandas as pd
# 创建一个示例 DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
# 新增一列 C,值为 A 和 B 的和
df['C'] = df['A'] + df['B']
# 打印结果
print(df)
```
执行结果如下:
```
A B C
0 1 4 5
1 2 5 7
2 3 6 9
```
在这个示例中,我们创建了一个 DataFrame,并使用 `df['A'] + df['B']` 的结果作为新列 C 的值。然后使用 `df['C'] = ...` 将新列加入到 DataFrame 中。
阅读全文