我需要在两列中应用对当前数据帧的更改,其中一列的字典键和来自dict的每一个值的另一列的值。我找不到任何方法来为例如这样做
dict is - test = {'a':32, 'b':21, 'c':92}
当前数据帧看起来像
date env result cost
2021-03-01 dev gcp.dev.a 30
2021-03-01 prd gcp.prd.d 35
2021-03-01 dev gcp.dev.j 98
2021-03-01 sandbox gcp.sandbox.b 94
从字典中添加对结果和成本列的更改后,dataframe应如下所示-
date env result cost
2021-03-01 dev gcp.dev.a 30
2021-03-01 prd gcp.prd.d 35
2021-03-01 dev gcp.dev.j 98
2021-03-01 sandbox gcp.sandbox.b 94
2021-03-01 dev gcp.dev.a 32
2021-03-01 prd gcp.prd.b 21
2021-03-01 prd gcp.prd.c 92
这里gcp是一个固定值,它被添加,dev和prd来自env列
在上面,您注意到最后3行是通过获取测试字典键值添加的,每个键值都添加在结果和成本中。i、 e每个键值对的两列中都应添加相关行
通过协构造函数创建新的数据帧,并通过^{} ,最后一次正向填充
date
值将其添加到原始数据帧:环路解决方案是可行的,但速度较慢,因此不建议:
您也可以通过使用
pd.DateFrame.from_dict()
方法、append()
方法和ffill()
方法来实现这一点:最后:
现在,如果您打印
newdf
,您将获得所需的输出:将
result
和cost
设置为索引:从字典生成
MultiIndex
用
temp
的索引和test_index
的并集重新索引temp
:相关问题 更多 >
编程相关推荐