簡體   English   中英

如何通過匹配 df1 中與 df2 索引和列名匹配的列值來用 df1 中的數據填充 df2

[英]How to fill df2 with data from df1 by matching column values from df1 which match df2 index and column names

我有一個帶有許多數據列的大型 dataframe df1 ,其中兩個是datescolNum 我已經構建了第二個 dataframe df2 ,它跨越了df1的日期范圍和colNum 我現在想用 df1 的第三列(許多其他數據列中的任何一個)填充df2 ,這些列滿足df1中的datescolNum的標准,這些colNumdf2dateIndexdf1匹配。

我嘗試了MERGE的各種化身,但沒有成功。

我可以遍歷組合,但df1非常大(270k,2k),因此從df1的列之一填充一個df2需要永遠,更不用說所有列了。

慢循環版本

dataList = ['revt']
for i in dataList:
    goodRows = df1.index[~np.isnan(df1[i])].tolist()
    for j in goodRows:
        df2.loc[df1['dates'][j], str(df1['colNum'][j])] = df1[i][j]

輸入

所需 Output

將索引轉換為列,例如

df1.reset_index() #as per your statement date seems to be in index df2.rest_index() df2 = pd.merge(df2, df1, on = ['dateIndex', 'colNum'], how = 'left') #根據您的方便保留“左”或“內”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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