我有一個非常大的數據框(〜1.7MM行x 6列)。相關數據的一個簡單的例子是:根據另一列中的值有條件地替換值
City Borough
Brooklyn Brooklyn
Astoria Queens
Astoria Unspecified
Ridgewood Unspecified
Ridgewood Queens
所以我想,以填補基於從市列的信息「未指定」的值。例如,城市裏奇伍德在一個實例中位於未指定的自治市鎮,但在數據集的其他地方正確地將自治市鎮列爲皇后區。
我已經探索過Panda的fillna,但它似乎並不符合我的需求。我也考慮過np.where方法,但我不確定它在這種情況下是如何工作的。我對熊貓很新,但是地圖/應用功能可能是我需要的嗎?這可能可以通過一千種不同的方式實現,但是在給定數據大小的情況下尋找不會抓取的內容。
編輯:我能夠創建一個包含城市之間出現的最高「對」,並用下面的代碼市鎮的字典:
specified = data[['Borough','City']][data['Borough']!= 'Unspecified']
paired = specified.Borough.groupby(specified.City).max()
paired = paired.to_dict()
配對dict有城市爲重點和自治市鎮作爲價值。現在最後一步是將其應用/映射回自治市鎮專欄......我該怎麼做?
替換之後,你想要這些重複值嗎?也就是說,你想結束兩個相同的行,說「Astoria」/「皇后區」?或者你可以只刪除一個未指定的值? – BrenBarn
是的,重複是可以和預期的。 – ChrisArmstrong