Let's say my data looks like this:
| news_title | company |
|---|---|
| string | |
| string | |
| string | Amazon |
| string | Apple |
| string | Amazon |
| string |
How can I group the companies and get name and the number for the company with the biggest sum?
I want be able to print something like :
Facebook was mentioned in the news the most - 24 times.
I tried this but it did not work the way I wanted:
df.groupby("company").sum()
CodePudding user response:
Use value_counts:
>>> df.company.value_counts().head(1)
Facebook 3
Name: company, dtype: int64
Update:
Could you please tell me how I could go about printing it out in a sentence?
company, count = list(df.company.value_counts().head(1).items())[0]
print(f'{company} was mentioned in the news the most - {count} times.')
# Output:
Facebook was mentioned in the news the most - 3 times.
