如何在 pandas 的第n行中将n个DataFrame插入另一个行? [英] How to insert n DataFrame to another every nth row in Pandas?
本文介绍了如何在 pandas 的第n行中将n个DataFrame插入另一个行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
例如,我有一个 DataFrame A
A
0
1
2
现在我要插入 DataFrame B
中的每2行到 A
中的每1行和 B
如下
Now I want to insert every 2 rows in DataFrame B
into A
every 1 row and B
is as following
B
3
3
4
4
5
5
最后我想要
A
0
3
3
1
4
4
2
5
5
我该如何实现?
推荐答案
一种选择是获取每个数据框的值,进行整形,并与 np.hstack
然后分配给新的数据帧。
One option is to take each dataframe's values, reshape, concatenate with np.hstack
and then assign to a new dataframe.
In [533]: pd.DataFrame(np.hstack((df1.A.values.reshape(-1, 1),\
df2.B.values.reshape(-1, 2))).reshape(-1, ),\
columns=['A'])
Out[533]:
A
0 0
1 3
2 3
3 1
4 4
5 4
6 2
7 5
8 5
另一个具有 pd.concat
和<$ c $的解决方案c> df.stack :
In [622]: pd.DataFrame(pd.concat([df1.A, pd.DataFrame(df2.B.values.reshape(-1, 2))], axis=1)\
.stack().reset_index(drop=True),\
columns=['A'])
Out[622]:
A
0 0
1 3
2 3
3 1
4 4
5 4
6 2
7 5
8 5
这篇关于如何在 pandas 的第n行中将n个DataFrame插入另一个行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文