如何结合df.loc和forloop来计算pandas中的新列

2024-05-13 02:10:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我想学习如何使用df.loc和for循环为下面的数据帧计算新列 问题:从df_G,对于T=400,将每个Go_j的值作为输入 然后在数据框df=df['absorption\u energy\u eV']-Go\u h2o中添加新列“G\u ads\u 400”

df_G

df

这是我对每个温度的代码

Go_co2 = df_G.loc[df_G.index == "400" & df_G.Go_CO2]
Go_o2= df_G.loc[df_G.index == "400" & df_G.Go_O2]
Go_co= df_G.loc[df_G.index == "400" & df_G.Go_CO]

df.loc[df['Adsorbates'] == "CO2", "G_ads_400"] = df.Adsorption_energy_eV-Go_co2
df.loc[df['Adsorbates'] == "CO", "G_ads_400"] = df.Adsorption_energy_eV-Go_co
df.loc[df['Adsorbates'] == "O2", "G_ads_400"] = df.Adsorption_energy_eV-Go_o2

我不知道为什么我一直有错误,我想知道如何把它放在一个for循环,使它看起来不那么混乱


Tags: 数据godfforindexlocenergyads