
numpy.add.at和
pandas.factorize
i, r = pd.factorize(df.name)j, c = pd.factorize(df.color)n, m = len(r), len(c)b = np.zeros((n, m), dtype=np.int64)np.add.at(b, (i, j), 1)pd.Series(c[b.argmax(1)], r)John WhiteTom BlueJerry Blackdtype: object
groupby,
size和
idxmax
df.groupby(['name', 'color']).size().unstack().idxmax(1)nameJerry BlackJohn WhiteTom Bluedtype: objectnameJerry BlackJohn WhiteTom BlueName: color, dtype: object
Counter
¯_(ツ)_/¯
from collections import Counterdf.groupby('name').color.apply(lambda c: Counter(c).most_common(1)[0][0])nameJerry BlackJohn WhiteTom BlueName: color, dtype: object欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)