Python 将同一系列附加到数据框列
我有以下数据帧:Python 将同一系列附加到数据框列,python,pandas,concatenation,Python,Pandas,Concatenation,我有以下数据帧: data=pd.DataFrame(data=[[8,4,2,6,0],[3,4,5,6,7]],columns=["a","b","c","d","e"]) 输出如下: a b c d e 0 8 4 2 6 0 1 3 4 5 6 7 我还有以下系列: a=pd.Series([3,4]) 我想将序列(a)附加到数据中的每一列。我尝试了一些康卡特,但我似乎从来没有得到它的权利 预期结果是: a b c d e 0 8 4 2 6 0 1
data=pd.DataFrame(data=[[8,4,2,6,0],[3,4,5,6,7]],columns=["a","b","c","d","e"])
输出如下:
a b c d e
0 8 4 2 6 0
1 3 4 5 6 7
我还有以下系列:
a=pd.Series([3,4])
我想将序列(a)附加到数据中的每一列。我尝试了一些康卡特,但我似乎从来没有得到它的权利
预期结果是:
a b c d e
0 8 4 2 6 0
1 3 4 5 6 7
2 3 3 3 3 3
3 4 4 4 4 4
提前感谢您可以:
out=data.append(pd.concat([a]*data.shape[1],axis=1,keys=data.columns),ignore_index=True)
下面是for循环的一个方法
for x ,y in a.iteritems():
data.loc[data.index[-1]+x+1]=y
data
Out[106]:
a b c d e
0 8 4 2 6 0
1 3 4 5 6 7
2 3 3 3 3 3
4 4 4 4 4 4
使用
广播到
df.append(pd.DataFrame(np.broadcast_to(a.to_frame(), (len(a), df.shape[1])), columns=df.columns), ignore_index=True)
pandas.DataFrame.apply
带pandas.Series.append
我喜欢这个因为它很漂亮
data.apply(pd.Series.append, to_append=a, ignore_index=True)
a b c d e
0 8 4 2 6 0
1 3 4 5 6 7
2 3 3 3 3 3
3 4 4 4 4 4
高谈阔论的回答
data.apply(pd.Series.append, args=(a, 1))
numpy.row\u堆栈
非常相似
data.loc[len(data)]=y
可能更简单;P
data.apply(pd.Series.append, to_append=a, ignore_index=True)
a b c d e
0 8 4 2 6 0
1 3 4 5 6 7
2 3 3 3 3 3
3 4 4 4 4 4
data.apply(pd.Series.append, args=(a, 1))
pd.DataFrame(np.row_stack([
data,
a.to_numpy()[:, None].repeat(data.shape[1], axis=1)
]), columns=data.columns)
a b c d e
0 8 4 2 6 0
1 3 4 5 6 7
2 3 3 3 3 3
3 4 4 4 4 4