首页 > 解决方案 > 将熊猫系列值添加到熊猫数据框末尾的新数据框列

问题描述

我有一个数据框,其值如下:

    A | B | C 
0 | 1 | 2 | 3
1 | 1 | 4 | 2
2 | 3 | 3 | 1
3 | 5 | 2 | 4
4 | 3 | 1 | 3

以及具有如下值的系列:

0 | 9
1 | 6
2 | 8

如何将系列值添加到数据框中的新列以获取此值?

    A | B | C | E
0 | 1 | 2 | 3 | NaN
1 | 1 | 4 | 2 | NaN
2 | 3 | 3 | 1 | 9
3 | 5 | 2 | 4 | 6
4 | 3 | 1 | 3 | 8

提前谢谢你,我是编码新手,不知道如何使用 concat 或 merge pandas 函数来让它工作。

标签: pythonpython-3.xpandasnumpy

解决方案


使用 df 作为您的主要数据框并为您的系列提供服务,您可以这样做:

#these 2 lines, in order to confirm that both indexes start from 0
df.reset_index(drop=True, inplace=True)
ser.reset_index(drop=True, inplace=True)

ser.index=ser.index+max(df.index)-max(ser.index)

df['new']=ser

例子:

df = pd.DataFrame(np.random.randint(0,10,[10,2]),columns=['a', 'b'])
ser = pd.Series({0:100, 1:200, 3:300})

运行上述代码后输出:

a  b    new
0  7  8    NaN
1  8  0    NaN
2  9  0    NaN
3  9  3    NaN
4  0  7    NaN
5  7  0    NaN
6  9  7    NaN
7  4  3  100.0
8  9  9  200.0
9  4  3  300.0

推荐阅读