简体   繁体   中英

How can I groupby and aggregate pandas dataframe with many columns

I am working on a pandas dataframe with 168 columns. First three columns contain name of the country, latitude and longtitude. Rest of the columns contain numerical data. Each row represents a country but for some countries there are multiple rows. I need to aggregate those rows by summing. I can aggregate first three columns with following code:

df = df.groupby('Country', as_index=False).agg({'Lat':'first','Long':'first'})

However, I couldn't find a way to include in that code remaining 165 columns without explicitly writing all the column names. In addition, column names represent dates and are named like 5/27/20 , 5/28/20 , 5/29/20 , etc. So I need to keep the column names.

How can I do that? Thanks.

Maybe you can generate the dictionary from the column names:

df = df.groupby('Country', as_index=False).agg({c: 'first' for c in df.columns})

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM