如何对dataframe增添一列
时间: 2023-12-03 22:55:12 浏览: 89
要对DataFrame增加一列,可以使用以下方式:
1. 使用索引运算符,将新列赋值给DataFrame对象:
```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
```
2. 使用assign方法,将新列赋值给DataFrame对象:
```python
import pandas as pd
# 创建一个DataFrame对象
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
# 新增一列C
df = df.assign(C=[7, 8, 9])
print(df)
```
输出:
```
A B C
0 1 4 7
1 2 5 8
2 3 6 9
```
两种方法的效果是相同的。需要注意的是,如果要新增的列数据长度不等于原DataFrame的行数,会报错。
相关问题
python,给DataFrame增添一列,命名为
如果你已经有了一个DataFrame对象,想要增添一列,可以使用该对象的`[]`操作符,用新的列名作为索引,来赋值一个Series对象即可。例如,假设你的DataFrame对象名为df,你要增添的列名为new_col,那么可以这样操作:
```python
import pandas as pd
# 假设你已有一个DataFrame对象df
# 你要增添的列名为new_col,可以先构造一个Series对象
new_col_data = pd.Series([1, 2, 3, 4, 5])
df['new_col'] = new_col_data
```
这样就可以在df中增添一列名为new_col的列了,它的值为[1, 2, 3, 4, 5]。
有列数为1的dataframe,增添一个新列(即第二列),命名为“风险”,此时第二列的值由第一列确定,当第一列的数值小于6.1时,第二列对应的值为“无风险”,当第一列的数值大于6.1小于6.4时,第二列对应的值为“低风险”,当第一列的数值大于6.4小于6.7时,第二列对应的值为“中风险”,当第一列的数值大于6.7时,第二列对应的值为“高风险”,
可以使用 DataFrame 的 loc 方法新增一列,并使用 apply 方法根据第一列的值为新列赋值。示例代码如下:
```python
import pandas as pd
# 创建一个只有一列的 dataframe
df = pd.DataFrame({'数值': [6.0, 6.2, 6.5, 7.0]})
# 新增一列 '风险',根据 '数值' 列的值赋值
df.loc[:, '风险'] = df['数值'].apply(lambda x: '无风险' if x < 6.1 else ('低风险' if x < 6.4 else ('中风险' if x < 6.7 else '高风险')))
print(df)
```
输出结果如下:
```
数值 风险
0 6.0 无风险
1 6.2 低风险
2 6.5 中风险
3 7.0 高风险
```
可以看到,新的 '风险' 列已经被成功地新增到 dataframe 中,并且根据 '数值' 列的值被正确地赋值。
阅读全文
相关推荐













