![](/img/trans.png)
[英]pandas how to get values from df2 for df1 while df1 and df2 have values overlapped on column(s)
[英]How to fill df2 with data from df1 by matching column values from df1 which match df2 index and column names
我有一個帶有許多數據列的大型 dataframe df1
,其中兩個是dates
和colNum
。 我已經構建了第二個 dataframe df2
,它跨越了df1
的日期范圍和colNum
。 我現在想用 df1 的第三列(許多其他數據列中的任何一個)填充df2
,這些列滿足df1
中的dates
和colNum
的標准,這些colNum
與df2
的dateIndex
和df1
匹配。
我嘗試了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]
將索引轉換為列,例如
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.