Python 将序列值添加到数据帧

Python 将序列值添加到数据帧,python,pandas,add,Python,Pandas,Add,我试图将一个系列的值添加到一个数据帧中。我没有试图将列添加到数据帧的末尾,即在数据帧中创建一个额外的列 我有一个与数据框中的列长度相同的序列。我想将序列中的值添加到框架中的每一列。 我尝试了Dataframe.add(),但没有成功 代码: 数据帧(命名读取器): 要添加到每列的系列(命名为abs_track): Current abs track 0 3503.125 1 3517.333 2 3504.778 3

我试图将一个系列的值添加到一个数据帧中。我没有试图将列添加到数据帧的末尾,即在数据帧中创建一个额外的列

我有一个与数据框中的列长度相同的序列。我想将序列中的值添加到框架中的每一列。 我尝试了
Dataframe.add()
,但没有成功

代码: 数据帧(命名读取器):

要添加到每列的系列(命名为abs_track):

    Current abs track
0            3503.125
1            3517.333
2            3504.778
3            3476.127
4            3477.776
reader=reader+abs\u track
reader.add('abs\u track')
给出:

     Current abs track   Current track blade 1   Current track blade 2    


0                  NaN                     NaN                     NaN                     
1                  NaN                     NaN                     NaN 
2                  NaN                     NaN                     NaN   
3                  NaN                     NaN                     NaN   
4                  NaN                     NaN                     NaN   

任何想法

您可以使用应用功能:

>>> df1 = pd.DataFrame({"Current track blade 1":[-8.577881, -6.284912, 6.269775, 5.253418, -16.088380], "Current track blade 2": [-0.333252, 5.294434, 11.229490,10.187260,-2.967773]})
>>> s1 = pd.Series([3503.125, 3517.333, 3504.778, 3476.127, 3477.776])
>>> df1.apply(lambda x: x + s1)
   Current track blade 1  Current track blade 2
0            3494.547119            3502.791748
1            3511.048088            3522.627434
2            3511.047775            3516.007490
3            3481.380418            3486.314260
4            3461.687620            3474.808227

您需要传递参数以实现所需:

df = pd.DataFrame({"Current track blade 1":[-8.577881, -6.284912, 6.269775, 5.253418, -16.088380], "Current track blade 2": [-0.333252, 5.294434, 11.229490,10.187260,-2.967773]})
s = pd.Series([3503.125, 3517.333, 3504.778, 3476.127, 3477.776])

df.add(s, axis=0)

Out[58]:
   Current track blade 1  Current track blade 2
0            3494.547119            3502.791748
1            3511.048088            3522.627434
2            3511.047775            3516.007490
3            3481.380418            3486.314260
4            3461.687620            3474.808227

这将按列而不是按行添加默认值。

@EdChum没问题,回答+1
df = pd.DataFrame({"Current track blade 1":[-8.577881, -6.284912, 6.269775, 5.253418, -16.088380], "Current track blade 2": [-0.333252, 5.294434, 11.229490,10.187260,-2.967773]})
s = pd.Series([3503.125, 3517.333, 3504.778, 3476.127, 3477.776])

df.add(s, axis=0)

Out[58]:
   Current track blade 1  Current track blade 2
0            3494.547119            3502.791748
1            3511.048088            3522.627434
2            3511.047775            3516.007490
3            3481.380418            3486.314260
4            3461.687620            3474.808227