我有一个非常大的数据框(~1.7MM 行 x 6 列)。相关数据的简化示例是:
City Borough
Brooklyn Brooklyn
Astoria Queens
Astoria Unspecified
Ridgewood Unspecified
Ridgewood Queens
因此,我尝试根据“城市”列中的信息填充“未指定”值。例如,City Ridgewood 在一个实例中位于未指定的自治市镇,但在数据集中的其他地方正确地将自治市镇列为皇后区。
我已经探索过 Panda 的 fillna,但它似乎不能满足我的需求。我也考虑过 np.where 方法,但我不确定它在这种情况下是如何工作的。我对 Pandas 很陌生,但也许地图/应用功能是我需要的?这可能可以通过一千种不同的方式来完成,但是在考虑到数据大小的情况下寻找不会爬网的东西。
编辑:我能够创建一个字典,其中包含城市和行政区之间出现频率最高的“对”,代码如下:
specified = data[['Borough','City']][data['Borough']!= 'Unspecified']
paired = specified.Borough.groupby(specified.City).max()
paired = paired.to_dict()
成对的字典以城市为键,以自治市镇为值。现在最后一步是将其应用/映射回自治市镇列......我该怎么做?