如何根据另一列的值填充数据框列

时间:2019-06-19 18:56:55

标签: python-3.x pandas dataframe comparison geopandas

假设我有3个数据帧变量:4,567,082 560,867,956 120 是主数据帧,而res_df_uniondf_res是根据df_vacant创建的子数据帧,它们共享2个称为{{1}的列}和res_df_union.。我的目标是比较uniqueidvacant_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

0 个答案:

没有答案