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