将一系列分配给dataFrame的所有列(按列)?

时间:2017-10-16 15:45:24

标签: python pandas

我有一个数据帧,以及与df相同的垂直大小的系列,我想分配 该系列到DataFrame的所有列。 为什么这么做是自然的?

例如

df = pd.DataFrame([[1, 2 ], [3, 4], [5 , 6]] ) 
ser = pd.Series([1, 2, 3 ])

我希望“df”的所有列都等于“ser”。

PS相关:

2 个答案:

答案 0 :(得分:1)

to_frame使用reindex

a = ser.to_frame().reindex(columns=df.columns, method='ffill')
print (a)
   0  1
0  1  1
1  2  2
2  3  3

comment解决方案似乎更容易,如果需要与原始数据相同的订单列,则添加了columns参数:

df = pd.DataFrame({c:ser for c in df.columns}, columns=df.columns)

答案 1 :(得分:1)

可能采用不同的方式来看待它:

df = pd.concat([ser] * df.shape[1], axis=1)