[英]Add all column values repeated of one data frame to other in pandas
有兩個數據框:
df1 = pd.DataFrame({'a':[1,2,3],'b':[4,5,6]})
a b
0 1 4
1 2 5
2 3 6
df2 = pd.DataFrame({'c':[7],'d':[8]})
c d
0 7 8
目標是將所有df2
列值添加到df1
,重復並創建以下結果。 假設兩個數據框不共享任何列名。
a b c d
0 1 4 7 8
1 2 5 7 8
2 3 6 7 8
如果有字符串列名稱是可能的,使用DataFrame.assign
和通過選擇df2
第一行創建的解包Series
:
df = df1.assign(**df2.iloc[0])
print (df)
a b c d
0 1 4 7 8
1 2 5 7 8
2 3 6 7 8
另一個想法是通過df1.index
與DataFrame.reindex
重復值並使用DataFrame.join
(這里df2
第一個索引值與df1.index
第一個索引值df1.index
):
df = df1.join(df2.reindex(df1.index, method='ffill'))
print (df)
a b c d
0 1 4 7 8
1 2 5 7 8
2 3 6 7 8
如果原始df
沒有缺失值可能在最后一步使用前向填充缺失值,但類型也更改為浮點數,謝謝@Dishin H Goyan:
df = df1.join(df2).ffill()
print (df)
a b c d
0 1 4 7.0 8.0
1 2 5 7.0 8.0
2 3 6 7.0 8.0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.