我有一個熊貓數據幀:查找列的值的最大值出現,後組由另一列
id city
[email protected] Bangalore
[email protected] Mumbai
[email protected] Jamshedpur
[email protected] Jamshedpur
[email protected] Bangalore
[email protected] Mumbai
[email protected] Vijayawada
[email protected] Vijayawada
[email protected] Vijayawada
我想找到ID明智發生的最大城市名稱。因此,對於給定的ID我可以告訴大家, - 這是他最喜歡的城市:
id city
[email protected] Bangalore
[email protected] Vijayawada
[email protected] Jamshedpur
使用GROUPBY ID和城市給人:
id city count
0 [email protected] Bangalore 2
1 [email protected] Mumbai 2
2 [email protected] Vijayawada 3
3 [email protected] Jamshedpur 2
如何繼續進行?我相信一些小組適用會做到這一點,但不知道究竟會做什麼。所以請建議。
如果某個ID有兩個或三個城市的相同計數,我可以返回任何這些城市。
另一種選擇是'pd.crosstab(DF [ '城市'],DF [ '身份證'])。idxmax(軸= 0)''雖然可能crosstab'如果你有很多獨特的id和city值,就會生成一個非常大的框架。 –
爲我提到的數據框,這個交叉表片段只給我[email protected]維傑亞瓦達的記錄。我認爲這是找到最大的城市總數id設置。不是明智的最大城市數。 – Satya
[pandas recommended](https://github.com/pandas-dev/pandas/issues/7301)方法是'groupby('id')。apply(your_custom_function)',根據我的回答 – smci