Python实现:基于Order_Status列值追加Order_Category列内容
解决方案
首先完善你的get_status函数,让它根据传入的订单状态返回对应的后缀(无匹配时返回空字符串):
def get_status(order_stat): categories = { 'F': " - Filled", 'C': " - Cancelled", 'R': " - Rejected", } # 存在对应状态就返回后缀,否则返回空字符串 return categories.get(order_stat, "")
假设你用Pandas处理数据,只需将Order_Category列和Order_Status列经函数处理后的结果拼接,就能得到追加后的列:
import pandas as pd # 假设数据存在df这个DataFrame中 df['Updated_Order_Category'] = df['Order_Category'] + df['Order_Status'].apply(get_status)
如果不需要保留原列,也可以直接覆盖:
df['Order_Category'] = df['Order_Category'] + df['Order_Status'].apply(get_status)
逻辑说明
- 用字典映射状态与对应后缀,比if-elif结构更简洁高效
dict.get()方法会在键不存在时返回默认空字符串,刚好适配'O'和'X'的忽略规则- 通过
apply()遍历Order_Status列每一行,调用函数得到后缀后与原分类拼接
内容的提问来源于stack exchange,提问作者dub
相关产品推荐
相关产品推荐

