Python 如何将一列中的观察值与另一列中的观察值相加

Python 如何将一列中的观察值与另一列中的观察值相加,python,pandas,jupyter,analytics,Python,Pandas,Jupyter,Analytics,嘿,伙计们,我有这个问题 谁能帮我编写代码或算法,将fd.loc[0,'值4']添加到fd.loc[1,'值2]中,以给出fd.loc[1,'值4']的输出基本上我希望值4中的每个观测值都是其先前观测值和值2中相应观测值的总和我希望能正确解释我的问题 dict = { 'value 1' : [1,2,3], 'value 2' : [4,5,6] } fd = pd.DataFrame(dict) fd['value 4'] = 10 + fd['value 2'] fd 如果“值4”列已

嘿,伙计们,我有这个问题 谁能帮我编写代码或算法,将fd.loc[0,'值4']添加到fd.loc[1,'值2]中,以给出fd.loc[1,'值4']的输出基本上我希望值4中的每个观测值都是其先前观测值和值2中相应观测值的总和我希望能正确解释我的问题

dict = {
'value 1' : [1,2,3],
'value 2' : [4,5,6]
}

fd = pd.DataFrame(dict)
fd['value 4'] = 10 + fd['value 2']
fd
如果“值4”列已经存在,并且您希望按照所述转换这些值,您可以这样做:

fd['value 4'] = fd['value 2'] + fd['value 4'].shift()

然后,您只需重新分配fd.loc[0,'value 4'],它现在是NaN,并且可能会将整个列重新转换为integer,因为由于缺少值,它已转换为float

我不太确定你想要实现什么,但这里有一些方法:

将两列的总和逐行添加到一列中:

fd.loc[index]['value 4'] = fd.loc[index]['value 1'] + fd.loc[index]['value 2']
添加一列,其中每行中的值为两列之和:

fd['value 4'] = fd['value 1'] + fd['value 2']
您还可以将lambda函数用于:


我希望这能回答您的问题

fd.loc[0,'value 4']首先是什么?为什么您的代码计算值4的方式与您的解释不符?fd.loc[0,'值4']是新创建的列value 4中的第一个观察值我希望value 4列中的第二个观察值是第一个观察值fd.loc[0,'值4']和第二个观察值fd.loc[1,'值2]的总和在“值2”等列中,它是否更有意义?IIUC这在这里可能会有所帮助:谢谢,我会研究它,直到不确定我是否理解正确,但我尝试了一下。见下面我的答案。
fd['value 4'] = fd.apply(lambda row: row['value 1'] + row['value 2'], axis=1)