Как подсчитать количество упоминаний каждого значения в колонке?
Дан DataFrame:
d = {'name': [['rick', 'mike', 'morty'], 'NaN', ['brick', 'nick'], ['rick', 'reaven', 'bart', 'homer'], ['rick', 'morty']],
'Date': ['11/05/2011', '9/02/2010', '1/01/2014', '12/20/2020', '9/30/2009'],
'Address': ['AR', 'YU', 'RU', 'EU', 'BY']}
df = pd.DataFrame(data = d)
Необходимо получить данные о количестве упоминаний каждого из имён в столбце name. Желательно без применения цикла.
Ответы (1 шт):
Автор решения: D.Vinogradov
→ Ссылка
d = {'name': [['rick', 'mike', 'morty'], 'NaN', ['brick', 'nick'], ['rick', 'reaven', 'bart', 'homer'], ['rick', 'morty']],
'Date': ['11/05/2011', '9/02/2010', '1/01/2014', '12/20/2020', '9/30/2009'],
'Address': ['AR', 'YU', 'RU', 'EU', 'BY']}
df = pd.DataFrame(data=d).replace('NaN', np.nan).dropna()
df['name'] = df['name'].apply(lambda x: ' '.join([i for i in x]))
# print(df)
print(pd.Series(' '.join(df['name']).split()).value_counts())
>>>
rick 3
morty 2
mike 1
brick 1
nick 1
reaven 1
bart 1
homer 1
ваш строковый Nan заменил. в любом случае от NaN избавиться придется.