头歌平台python数据分析——(7)数据聚合

第1关 数据介绍

########## Begin ##########

happiness2015 = pd.read_csv('World_Happiness_2015.csv')
#把前五行存储在变量first_5中
first_5 = happiness2015.head()
#使用DataFrame.info()方法打印该dataframe的详细信息
happiness2015.info()

########## End ##########
print(first_5)

第2关 用循环进行数据聚合

########## Begin ##########
for reg in Region:
    region_group = happiness2015[happiness2015['Region'] == reg]
    region_mean = region_group['Happiness Score'].mean()
    mean_happiness[reg] = region_mean

########## End ##########
# 打印结果

第3关 GroupBy的使用

########## Begin ##########
grouped=happiness2015.groupby('Region')
aus_nz = grouped.get_group('Australia and New Zealand')
########## End ##########
print(aus_nz)

第4关 探索GroupBy对象

########## Begin ##########
# 1.按照Region列对happiness进行分组

# 2.取出第四行,第14行两行的数据

# 3. 取出‘North America’那一组的所有数据

# 4.判断两种方法取出的数据是否一致,并赋值给equal


# 5.打印north_america,na_group,equal
grouped = happiness2015.groupby('Region')

north_america = happiness2015.iloc[[4, 14]]
na_group = grouped.get_group('North America')

equal = north_america == na_group  


print(north_america)
print(na_group)
print(equal)
########## End ##########

第5关 GroupBy的公共聚合方法的使用

########## Begin ##########
# 1.分组处理
grouped = happiness2015.groupby('Region')
# 2.取平均
means = grouped.mean()
# 3.输出结果
print(means)
########## End ##########

第6关 使用Groupby聚合特定列

########## Begin ##########
# 1.对Happiness2015按Region列进行分组
grouped = happiness2015.groupby('Region')
# 2. 取出列名为Happiness Score的值
happy_grouped = grouped['Happiness Score']
# 3.取平均
happy_mean = happy_grouped.mean()
# 4.输出打印平均值
print(happy_mean)
########## End ##########

第7关 学习Agg()方法的使用

########## Begin ##########
# 3.定义dif函数
def dif(x):
    return np.max(x) - np.mean(x)
# 4.执行方法
happy_mean_max = happy_grouped.agg([np.mean, np.max])
mean_max_dif = happy_grouped.agg(dif)

# 5.输出结果
print(happy_mean_max)
print(mean_max_dif)

########## End ##########

第8关 Agg()方法使用(二)

########## Begin ##########
print(happiness_means)

########## End ##########

第9关 使用df.pivot_table()进行聚合

########## Begin ##########
# 1.调用df.pivot_table()方法完成聚合操作

# 2.绘制结果

# 3.求Happiness Score列的世界平均值


# 4.打印结果
pv_happiness = happiness2015.pivot_table(values='Happiness Score', index='Region', aggfunc='mean', margins=True)

pv_happiness.plot(kind='barh', xlim=(0,10), title='Mean Happiness Scores by Region', legend=False)

world_mean_happiness = happiness2015['Happiness Score'].mean()

print(pv_happiness)
print(world_mean_happiness)
########## End ##########

第10关 df.pivot_table()使用(二)

########## Begin ##########
# 1.使用groupby完成数据聚合


# 2.使用pivot_table()完成数据的聚合


# 3.打印结果
grouped = happiness2015.groupby('Region')[['Happiness Score', 'Family']]
happy_family_stats = grouped.agg([np.min, np.max, np.mean])

pv_happy_family_stats = pd.pivot_table(happiness2015, values=['Family', 'Happiness Score'], index=['Region'], aggfunc=[np.min, np.max, np.mean], margins=True)

print(happy_family_stats)
print(pv_happy_family_stats)
########## End ##########

  • 6
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青柠Löwenzahn m.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值