我想要每个数字最常见的字母。我尝试过各种各样的事情;不确定什么是正确的方法。
import pandas as pd
from pandas import DataFrame, Series
original = DataFrame({
'letter': {0: 'A', 1: 'A', 2: 'A', 3: 'B', 4: 'B'},
'number': {0: '01', 1: '01', 2: '02', 3: '02', 4: '02'}
})
expected = DataFrame({'most_common_letter': {'01': 'A', '02': 'B'}})
理想情况下,我希望最大限度地提高可读性。
最佳答案
我们可以使用DataFrame.mode()方法:
In [43]: df.groupby('number')[['letter']] \
.apply(lambda x: x.mode()) \
.reset_index(level=1, drop=True)
Out[43]:
letter
number
01 A
02 B
关于python - 获取每个列值最常见的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44403937/