python - 通过循环在数据框中添加列并根据另一列中的内容进行填充
问题描述
我有以下数据框(New_Data),我想根据“商人”列的内容添加一个新列。例如,如果“商家”包含“AMZ”或“AMZN”,我希望该列返回“亚马逊”,如果“商家”包含“PRIME”,我希望该列返回“视频”,依此类推,直到最后一行。我想通过一个循环来做到这一点。
我尝试了以下创建列的方法,但我不知道如何将循环与内容 if-function 结合起来:
merchantlength=len(New_Data[['Merchant']])
merchantlength
i=0
for i in range(merchantlength):
df['newcolumn']="1"
New_Data = pd.concat([ df], axis=1)
New_Data
解决方案
因此,您正在尝试根据“merchant”列的值在 new_column 中添加一些数据,因此请尝试执行以下操作:
values = []
for i in df['merchant']:
if i=='AMZ':
values.append('Amazon')
elif i == 'prime':
values.append('video')
添加每个可能的类别值后,只需将此列表附加为具有某些名称的新列
df['new_column'] = values
推荐阅读
- reactjs - 使用独特的、稳定的函数(例如组件)而不是字符串作为 React 键是否可以?
- android - 无法在 AVD 上模拟 GPS 位置
- python - NumPy 用乘法和加法代替 for 循环
- javascript - 如何在反应导航的另一个屏幕中获取道具?
- r - R项目结构和变量范围
- python - 如何使用 selenium 和 python 获取浏览器选项卡的名称
- java - 拥有来自另一个类的内部类的变量
- python - 如何使用回调来更新 Dash 中的条形图
- php - 使用会话中保存的 URL 变量预填充 Woocommerce 登录字段
- mysql - 从 MySQL 中的无符号零填充整数列中检索整数值的正确或最有效的方法