python dataframe 新增一列
时间: 2023-08-21 18:14:51 浏览: 121
在Python的DataFrame中新增一列有几种方法可以实现。首先,你可以直接指定列名并赋值即可。例如,你可以使用以下代码在DataFrame中新增一列:
```python
import pandas as pd
data = pd.DataFrame(columns=\['a', 'b'\], data=\[\[1, 2\], \[3, 4\]\])
data\['addlist'\] = \[1, 2\]
print(data)
```
这样就在DataFrame中新增了一列名为'addlist'的列,并赋值为\[1, 2\]。\[1\]
另外,如果你想在指定位置新增一列,可以使用insert()函数。例如,你可以使用以下代码在DataFrame的第二列后面新增一列:
```python
data.insert(2, 'c', '')
```
这样就在DataFrame的第二列后面新增了一列名为'c'的列,并赋值为空字符串。\[2\]
此外,你还可以根据现有列的值计算生成新的列。例如,你可以使用apply()函数和lambda表达式来根据某列的值生成新的列:
```python
df2\['是否逾期'\] = df2.apply(lambda x: 0 if x.应付日期 > today_time else 1, axis=1)
df2\['是否到期90天'\] = (today_time - df2.应付日期).map(lambda x: 1 if x.days >= 90 else 0)
```
这样就根据DataFrame中的'应付日期'列的值生成了两个新的列'是否逾期'和'是否到期90天'。\[2\]
最后,如果你想将现有多列合并为一列,可以直接使用加号+。例如,你可以使用以下代码将'age'、'phone'和'address'三列合并为一列:
```python
dataframe\["newColumn"\] = dataframe\["age"\].map(str) + dataframe\["phone"\] + dataframe\["address"\]
```
这样就将'age'、'phone'和'address'三列合并为了一列名为'newColumn'的列。\[2\]
综上所述,以上是在Python的DataFrame中新增一列的几种方法。你可以根据具体的需求选择适合的方法来实现。
#### 引用[.reference_title]
- *1* *3* [【20210914】【Python】Python在DataFrame中新增一列](https://blog.csdn.net/weixin_40583722/article/details/120281217)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [python dataframe新增一列](https://blog.csdn.net/julyclj55555/article/details/122450287)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文