DataFrame 中如何新建一列然后依次赋值
时间: 2023-07-27 09:28:03 浏览: 108
在 Pandas 中,可以使用以下方式新建一列并依次赋值:
```python
import pandas as pd
# 创建一个 DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
# 新建一列 'C' 并依次赋值
df['C'] = [7, 8, 9]
# 打印结果
print(df)
```
输出结果为:
```
A B C
0 1 4 7
1 2 5 8
2 3 6 9
```
其中,`df['C']` 表示新建一列名为 'C' 的列,`[7, 8, 9]` 表示赋值给 'C' 列的值。如果需要依次赋值,只需要将列表中的值按顺序排列即可。
相关问题
Pandas DataFrame中已知列名,如何依次赋值
在Pandas DataFrame中,如果你已经有了列名列表,并想要按照这个顺序给DataFrame的相应位置赋值,你可以通过以下步骤操作:
1. 首先,创建一个包含你要赋值的数据的列表,数据可以是Python的各种数据类型,如整数、浮点数、字符串等。
2. 确定DataFrame的索引,这通常是行标签。如果不确定,可以使用`df.index`获取当前的索引。
3. 使用循环,比如`for`循环,遍历列名列表。在每次迭代中,找到对应列的位置(可以用列名作为键),然后将数据插入到该位置。例如:
```python
# 假设你有列名list=['A', 'B', 'C'],数据list2=[1, 2, 3],DF是你需要赋值的DataFrame
column_names = ['A', 'B', 'C']
data_list = [1, 2, 3]
for i, column_name in enumerate(column_names):
df.loc[:, column_name] = data_list[i]
```
在这个例子中,`enumerate()`函数同时返回了列名的索引和列名本身,这样就可以直接对DataFrame的指定列进行赋值。
在dataframe加上新的一列,有序是数字
可以使用pandas的assign函数来加上新的一列,然后使用numpy的arange函数来生成有序的数字:
```python
import pandas as pd
import numpy as np
# 生成一个示例DataFrame
df = pd.DataFrame({'A': ['a', 'b', 'c', 'd'], 'B': [1, 2, 3, 4]})
# 使用assign函数加上新的一列
df = df.assign(C=np.arange(len(df)))
# 输出结果
print(df)
```
输出结果如下:
```
A B C
0 a 1 0
1 b 2 1
2 c 3 2
3 d 4 3
```
其中,`np.arange(len(df))`生成了一个长度为4的numpy数组,其中各个元素依次为0、1、2、3。这个数组被赋值给了新加的一列C。
阅读全文