在pandas中插入带有常量的列

时间:2018-05-28 14:28:07

标签: python pandas

我有一排pandas数据帧,即

x p y q z
---------
1 4 2 5 3

我想只将一些列(' x',' y'' z')附加到另一个数据框,作为名称为&#的新列39;一个'' b'' C'

在:

A B
---
7 8
9 6
8 5

A B a b c
---------
7 8 1 2 3
9 6 1 2 3
8 5 1 2 3

2 个答案:

答案 0 :(得分:3)

试试这个,

df1=pd.DataFrame({'x':[1],'y':[2],'z':[3]})
df2=pd.DataFrame({'A':[7,9,8],'B':[8,6,5]})
print pd.concat([df2,df1],axis=1).fillna(method='ffill').rename(columns={'x':'a','y':'b','z':'c'})

   A  B    a    b    c
0  7  8  1.0  2.0  3.0
1  9  6  1.0  2.0  3.0
2  8  5  1.0  2.0  3.0

答案 1 :(得分:2)

使用Series创建的assign,选择1. df1行:

cols = ['x','y','z']
new_cols = ['a','b','c']
df = df2.assign(**pd.Series(df1[cols].iloc[0].values, index=new_cols))
print (df)

   A  B  a  b  c
0  7  8  1  2  3
1  9  6  1  2  3
2  8  5  1  2  3