【发布时间】:2021-04-06 08:26:35
【问题描述】:
我有两个数据框,基于从列表中获得的条件(长度为 200 万),我得到与该条件匹配的行,然后对于这些行,我更改第一列 x 和 y 中的值数据帧由第二个数据帧中的 x 和 y 的值。这是我的代码,但它非常慢并且使我的计算机死机。知道如何更有效地做到这一点吗?
for ids in List_id:
a=df1.index[(df1['id'] == ids )==True].values[0]
b=df2.index[(df2['id'] == ids )==True].values[0]
df1['x'][a] = df2['x'][b]
df1['y'][a] = df2['y'][b]
谢谢
--
例子:
List_id=[1, 11, 12, 13]
ids=1
a=df1.index[(df1['id'] == 1 )==True].values[0]
打印('a'):234
b=df2.index[(df2['id'] == 1 )==True].values[0]
打印('b'):789
df1['x'][a] = 0
df2['x'][b] =15
所以最后我想在我的数据框 1 中:
df1['x'][a] = df2['x'][b]
【问题讨论】:
-
请分享示例输入和预期输出
-
我举个简单的例子,谢谢