pandas里面创建新的列除了assign还有什么方法怎么创建,官方方法,代码举例子
时间: 2023-05-15 10:07:57 浏览: 133
除了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]。
使用 assign ()方法在 Pandas DataFrame 中创建一个新的列。
在Pandas DataFrame中,`assign()`方法是一个非常实用的功能,它允许你在DataFrame上动态添加新的列。这个方法接受一个字典,其中键是新列的名称,值是用于生成新值的函数或表达式,该函数将应用于DataFrame当前的所有行。
例如,如果你有一个包含年龄的DataFrame,你可以计算每个人的生日对应的星座(假设我们知道每个星座的日期范围),你可以这样做:
```python
import pandas as pd
# 假设 df 是一个包含 'age' 列的 DataFrame
df = pd.DataFrame({'age': [20, 25, 30, 35], 'name': ['Alice', 'Bob', 'Charlie', 'Dave']})
# 创建一个新的列 'zodiac',表示每个个体的星座
def get_zodiac(age):
if age >= 20 and age < 24:
return 'Aquarius'
elif age >= 24 and age < 29:
return 'Pisces'
# 更多的星座判断...
df = df.assign(zodiac=[get_zodiac(age) for age in df['age']])
print(df)
```
在这个例子中,`assign()`方法会为每一行的年龄应用`get_zodiac()`函数,然后返回一个新的DataFrame,其中包含了原有的`age`和`name`列以及新创建的`zodiac`列。
阅读全文