PySpark:如何为DataFrame中多行按代码添加描述信息?
给DataFrame代码列添加描述的实现方法
假设你用的是Python的pandas库,这里有两种简单直接的实现方式:
方法一:字典映射填充
先把每个代码对应的描述整理成字典,再用map()方法批量填充:
import pandas as pd # 原DataFrame df = pd.DataFrame({'Code': ['A', 'B', 'C'], 'Description': [None, None, None]}) # 定义代码-描述映射字典 code_desc = { 'A': '用户注册操作', 'B': '数据导出操作', 'C': '权限变更操作', # 剩下的代码依次补充对应描述 } # 填充描述列,未匹配到的代码可以用fillna补默认值 df['Description'] = df['Code'].map(code_desc).fillna('无对应描述')
方法二:合并小DataFrame填充
如果描述信息较多,也可以先做一个包含代码和描述的小DataFrame,再通过merge()合并填充:
import pandas as pd # 原DataFrame df = pd.DataFrame({'Code': ['A', 'B', 'C'], 'Description': [None, None, None]}) # 描述信息的小DataFrame desc_df = pd.DataFrame([ ['A', '用户注册操作'], ['B', '数据导出操作'], ['C', '权限变更操作'], # 补充其他代码和描述 ], columns=['Code', 'Description']) # 左合并,保留原DataFrame所有行,填充描述 df = df.merge(desc_df, on='Code', how='left')
两种方法都能快速完成20种代码的描述填充,根据自己的习惯选择即可。
内容的提问来源于stack exchange,提问作者Pelle
相关产品推荐
相关产品推荐

