基于熊猫中特定列的聚合和索引

时间:2020-05-26 18:40:22

标签: python-3.x pandas data-science

我有一个与国家/地区的世界幸福数据相关的csv文件。在该数据文件中,根据一些特定标准计算与幸福有关的不同分数。我想根据这些标准(特征)找到最坏的国家和最好的国家。下面用笔记本图片给出了我的解决方案:

happiness_df = pd.read_csv('Datasets/happiness_2017.csv')
happiness_data_by_country = {}
for column in happiness_df.describe().columns:
    if column != 'Rank':       
        max_val = happiness_df.describe().loc['max',column]
        min_val = happiness_df.describe().loc['min',column]
        country_with_max = happiness_df.loc[happiness_df[column]==max_val,'Country'].values[0]
        country_with_min = happiness_df.loc[happiness_df[column]==min_val,'Country'].values[0]
        happiness_data_by_country[column] = {
        "worst" : country_with_min,
        "best" : country_with_max 
    }

dataframe

my solution

在大熊猫中还有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

是的,可以尝试获得最大值:

df.loc [df ['HappinessScore']。idxmax()]

并且至少:df.loc [df ['HappinessScore']。idxmin()]。