【发布时间】:2020-11-10 08:42:42
【问题描述】:
我只是尝试输入 base_consolidada df 数据,前提是“Número da conta”列中 data_final 的行值等于第一个 df 的同一列名中的行。但是,它是太长了,我不知道如何解决它....
for _,row in base_consolidada.iterrows():
for _,row2 in data_final.iterrows():
if row["Número da conta"]==row2["Número da conta"]:
row[["Investimento(DF)","Saldo Líquido(DF)","%Rend(DF)"]]=row2[["Investimento","Saldo Líquido","% Rend"]]
【问题讨论】:
-
你的两个数据框有多大?您在这里进行了 len(df1) * len(df2) 比较,因为您正在将 base_consalidada 中的每一行与 data_final 中的每一行进行比较。假设 numero de conta 表示帐号,并且每一行都有一个唯一的帐号,您最好在每个数据框中创建一组帐号,然后将这两个集合相交,然后查找帐号仅在该交叉口中的数字并对该 programiz.com/python-programming/methods/set/intersection 执行操作
-
如果你有一个示例数据集可以使用,它会更容易帮助一些示例代码
标签: python python-3.x pandas dataframe merge