繁体   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