如何使用字典为现有pandas DataFrame批量新增固定值列
字典驱动批量为pandas DataFrame新增固定值列的实现方法
基于给定的初始DataFrame和参数字典new_cols,核心实现逻辑是把字典的每个键作为新列的列名,对应的值作为整列的统一填充值,依靠pandas的标量广播特性完成填充,无需逐行构造重复值。
可直接落地的实现方案
- 方案1:循环遍历字典逐列赋值
该方法逻辑直白,逐一遍历字典键值对完成列赋值,pandas会自动将传入的标量值填充到对应列的所有行。for col_name, col_value in new_cols.items(): lfa[col_name] = col_value - 方案2:单行
assign方法批量添加
该方法利用pandas内置的列新增接口,将参数字典通过lfa = lfa.assign(**new_cols)**解包为关键字参数传入,一行即可完成所有新列的追加,代码更简洁。
效果验证
运行上述任意一段代码后,打印lfa得到的结果和题目给出的期望效果完全一致:
name surname age adj1 adj2 0 tom jones 44 adjustment1 adjustment2 1 elvis prestley 50 adjustment1 adjustment2 2 jim reeves 30 adjustment1 adjustment2
注意:两种方案都不会改动原有DataFrame的列顺序、原有列的取值,仅在表尾追加字典定义的新列;如果字典中定义的列名已在现有表中存在,对应列会被新值覆盖,使用时需要留意列名冲突。
内容的提问来源于stack exchange,提问作者Number Logic
相关产品推荐
相关产品推荐

