如何在dataframe中给某一列赋值
时间: 2023-05-25 09:01:05 浏览: 87
要给数据框中的某一列赋值,可以使用如下方法:
```python
import pandas as pd
# 创建一个数据框
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35]})
# 给 age 列赋值
df['age'] = [26, 31, 36]
# 打印数据框
print(df)
```
以上代码会将 age 列的值改为 `[26, 31, 36]`,输出如下:
```
name age
0 Alice 26
1 Bob 31
2 Charlie 36
```
相关问题
循环遍历dataframe并给这一列赋值
要循环遍历 DataFrame 并给某一列赋值,你可以使用 DataFrame 的 `iterrows()` 方法来遍历每一行,然后使用 `.at` 或 `.loc` 方法来给某一列赋值。
例如,假设你有一个 DataFrame `df`,其中有一列叫做 `score`,你想要给这一列的每个元素都加上 1:
```python
for index, row in df.iterrows():
df.at[index, 'score'] = row['score'] + 1
```
这里的 `iterrows()` 方法返回一个迭代器,每次迭代返回一个元组 `(index, row)`,其中 `index` 是行的索引,`row` 是一个 Series,包含该行的所有值。然后我们使用 `.at` 方法来访问指定行和列的元素,给其赋新值。
另外,你也可以使用 `.loc` 方法:
```python
for index, row in df.iterrows():
df.loc[index, 'score'] = row['score'] + 1
```
这个方法与 `.at` 的效果相同,但是它可以同时访问和修改多个列,因此更加灵活。
如何给dataframe中某一列全赋值为np.nan
您好,对于您的问题,使用pandas库可以非常方便地给dataframe中某一列全赋值为np.nan。可以采用如下代码:
```python
import pandas as pd
import numpy as np
# 创建一个示例dataframe
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# 给列B赋值为np.nan
df['B'] = np.nan
print(df)
```
输出结果为:
```
A B C
0 1 NaN 7
1 2 NaN 8
2 3 NaN 9
```
即将dataframe中的列B全部赋值为np.nan。
阅读全文