使用pandas系列添加新列

时间:2018-10-26 10:07:11

标签: pandas series

我有一个熊猫DataFrame和一个熊猫系列。我想添加具有数据框值的新常量列。在一个示例中:

In [1]: import pandas as pd
        df1 = pd.DataFrame({'a': [1,2,3,4,5], 'b': [2,2,3,2,5]})

In [2]: df1
Out[2]: 
   a  b
0  1  2
1  2  2
2  3  3
3  4  2
4  5  5

In [3]: s1 = pd.Series({'c':2, 'd':3})

In [4]: s1
Out[4]: 
c    2
d    3
dtype: int64

In [5]: for key, value in s1.to_dict().items():
            df1[key] = value

我的丑循环完成了我想要的。但是肯定有一个更好的解决方案,可能是使用一些我猜的合并或组操作

In [6]: df1
Out[6]: 
   a  b  c  d
0  1  2  2  3
1  2  2  2  3
2  3  3  2  3
3  4  2  2  3
4  5  5  2  3

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

assignSeries的{​​{1}}一起打开包装:

**

df1 = df1.assign(**s1) print (df1) a b c d 0 1 2 2 3 1 2 2 2 3 2 3 3 2 3 3 4 2 2 3 4 5 5 2 3 解决方案,用于具有numpy.broadcast_tojoin的新Numpy

DataFrame