Удаление дубликатов с игнорированием чувствительности к регистру и добавление следующих значений столбца с первым в pandas dataframe в python

Вопрос:

У меня есть df,

Name    Count
Ram     1
ram     2
raM     1
Arjun   3
arjun   4

Мой желаемый результат df,

Name    Count
Ram     4
Arjun   7

Я попробовал groupby, но я не могу добиться желаемого результата, пожалуйста, помогите

Лучший ответ:

Используйте agg по значениям Name преобразованным в lower first и sum:

df = (df.groupby(df['Name'].str.lower(), as_index=False, sort=False)
        .agg({'Name':'first', 'Count':'sum'}))
print (df)
    Name  Count
0    Ram      4
1  Arjun      7

Деталь:

print (df['Name'].str.lower())
0      ram
1      ram
2      ram
3    arjun
4    arjun
Name: Name, dtype: object

Ответ №1
In [71]: df.assign(Name=df['Name'].str.capitalize()).groupby('Name', as_index=False).sum()
Out[71]:
Name  Count
0  Arjun      7
1    Ram      4
Ответ №2

Если я группирую по title форматированные строки, это упрощает шаги, которые я должен предпринять.

df.Count.groupby(df.Name.str.title()).sum().reset_index()

Оцените статью
TechArks.Ru
Добавить комментарий