假设我有3个数据帧变量:4,567,082
560,867,956
120
是主数据帧,而res_df_union
和df_res
是根据df_vacant
创建的子数据帧,它们共享2个称为{{1}的列}和res_df_union.
。我的目标是比较uniqueid
和vacant_has_res
中的uniqueid
列值,如果匹配,则将df_res
中的df_vacant
赋值为1。
*注意:我使用vacant_has_res
(gpd数据框)而不是仅使用res_df_union
,因为我正在处理空间数据,但是概念是相同的。
geoPandas
到目前为止的代码有效。我有一个pandas
个匹配的列表。现在,我只想在res_df_union = gpd.read_file(union, layer=union_feat)
df_parc_res = res_df_union[res_df_union.Parc_Res == 1]
unq_id_res = df_parc_res.uniqueid.unique()
df_parc_vacant = res_df_union[res_df_union.Parc_Vacant == 1]
unq_id_vac = df_parc_vacant.uniqueid.unique()
vacant_res_ids = []
for id_a in unq_id_vac:
for id_b in unq_id_res:
if id_a == id_b:
vacant_res_ids.append(id_a)
中查找那些唯一的ID,然后分配uniqueid
=1。当我运行以下命令时,它要么导致我的IDE崩溃,要么永远无法完成运行(几个小时后) 。我在做什么错,有没有更有效的方式做到这一点?
res_df_union