簡體   English   中英

將一個數據框的所有重復列值添加到 Pandas 中的另一個數據框

[英]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.indexDataFrame.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM