gpt4 book ai didi

python - 替换多个值并为多个数据框创建新列的优雅方式

转载 作者:太空宇宙 更新时间:2023-11-04 01:54:13 25 4
gpt4 key购买 nike

我有一个数据框字典,如下所示。

enter image description here

目前我正在尝试做的是替换每个数据帧的 FR 列中的值,并为每个数据帧创建一个名为 unit 的新列

虽然我有如下所示的工作代码,但不确定这是否是最好的编写方式。

dataFramesDict['Cho'] = dataFramesDict['Cho'].replace({'FR' : {'Fasting' : 'Cholesterol Fasting', 'Random' : 'Cholesterol Random'}})
dataFramesDict['HDL'] = dataFramesDict['HDL'].replace({'FR' : {'Fasting' : 'Plasma fasting HDL cholesterol measurement', 'Random' : 'Plasma random HDL cholesterol measurement'}})
dataFramesDict['LDL'] = dataFramesDict['LDL'].replace({'FR' : {'Fasting' : 'Plasma fasting LDL cholesterol measurement', 'Random' : 'Plasma random LDL cholesterol measurement'}})
dataFramesDict['Tri'] = dataFramesDict['Tri'].replace({'FR' : {'Fasting' : 'Plasma fasting triglyceride measurement', 'Random' : 'Plasma random triglyceride measurement'}})
dataFramesDict['Cho']['unit'] = 'ml'
dataFramesDict['HDL']['unit'] = 'ml'
dataFramesDict['LDL']['unit'] = 'ml'
dataFramesDict['Tri']['unit'] = 'ml'

请注意每个数据帧要替换的值不同。然而,从代码中可以看出,所有数据帧的原始值都是相同的

你能告诉我如何进一步改进吗?

最佳答案

您可以使用for 循环来添加列

for key in dataFramesDict:
dataFramesDict[key]['unit'] = 'ml'

甚至

for df in dataFramesDict.values():
df['unit'] = 'ml'

如果你有替换字典那么你也可以使用循环

replacements =  {  
'Cho': {'FR' : {'Fasting' : 'Cholesterol Fasting', 'Random' : 'Cholesterol Random'}},
'HDL': {'FR' : {'Fasting' : 'Plasma fasting HDL cholesterol measurement', 'Random' : 'Plasma random HDL cholesterol measurement'}},
'LDL': {'FR' : {'Fasting' : 'Plasma fasting LDL cholesterol measurement', 'Random' : 'Plasma random LDL cholesterol measurement'}},
'Tri': {'FR' : {'Fasting' : 'Plasma fasting triglyceride measurement', 'Random' : 'Plasma random triglyceride measurement'}},)
}

for key, value in replacements.items():
dataFramesDict[key] = dataFramesDict[key].replace(value)

但是,如果您没有字典,那么您就无法更改代码。

关于python - 替换多个值并为多个数据框创建新列的优雅方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57263986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com