pandas组队学习打卡日记4.26

第三章:分组

在这里插入图片描述

未解决

  1. 有关lambda函数的知识;for遍历处的语句在这里插入图片描述
  2. 使用all()的意义:同样输出都是function
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

问题及练习

问题

一:
难度系数一颗星
二:
难度系数三颗星
三:
难度系数两颗星
四:
在需要选择出来的数据过多反而需要删选掉的数据较少时,用过滤更加方便快捷
五:
整合:传入的对象是组内的列
过滤:传入的对象的组内的列,传入的值是布尔标量
变换:输入的对象是组内的列,
六:
不会

练习

一:
(a)

import pandas as pd
import numpy as np
df=pd.read_csv('C:/Users/76709/Desktop/4.18组对学习pandas/joyful-pandas-master/data/Diamonds.csv')
df_1=df.loc[lambda x:x['carat']>1]
df_1['price'].agg(lambda x:x.max()-x.min())

(b)

bin=df['depth'].quantile(np.linspace(0,1,6)).tolist()
cut=pd.cut(df['depth'],bins=bin)
df['cut']=cut
df.groupby('cut')[['color']].describe()

(c)(d)
自己没太研究出来
下次继续努力
试着盲打出来
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
二:
(a)

import pandas as pd
import numpy as np
df=pd.read_csv('C:/Users/76709/Desktop/4.18组对学习pandas/joyful-pandas-master/data/Drugs.csv')
df
#尝试阶段
df.groupby('YYYY').get_group(2010)
for i in range(2010,2017):
   print(df.groupby('YYYY').get_group(i).sort_values(by='DrugReports').tail(1)['COUNTY'])
df.groupby('YYYY').get_group(2010).sort_values(by='DrugReports').tail(1)['COUNTY']
df_2=df.groupby(['YYYY','COUNTY']).sum()
for i in range(2010,2018):
    print(df_2.groupby('YYYY').get_group(i).sort_values(by='DrugReports').tail(1))
df_2.groupby('YYYY').get_group(2010).sort_values(by='DrugReports').tail(1).index[0][1]
state=df.loc[df['COUNTY']==df_2.groupby('YYYY').get_group(2010).sort_values(by='DrugReports').tail(1).index[0][1]]['State']
state.values[0] 
df_3=df.groupby(['YYYY','State']).sum()
for i in range(2010,2018):
    print(df_3.groupby('YYYY').get_group(i).sort_values(by='DrugReports').tail(1).index[0][1])   

在这里插入图片描述
在这里插入图片描述

#组织语言
df_2=df.groupby(['YYYY','COUNTY']).sum()
for i in range(2010,2018):
    print(df_2.groupby('YYYY').get_group(i).sort_values(by='DrugReports').tail(1).index[0])

在这里插入图片描述

for i in range(2010,2018):
    c=df_2.groupby('YYYY').get_group(i).sort_values(by='DrugReports').tail(1).index[0][1]
    state=df.loc[df['COUNTY']==c]['State']
    s=state.values[0]
    print(i,c,s)

在这里插入图片描述

df_3=df.groupby(['YYYY','State']).sum()
for i in range(2010,2018):
    print(df_3.groupby('YYYY').get_group(i).sort_values(by='DrugReports').tail(1).index[0])

在这里插入图片描述

(b)
第一问:

#先挑出14年各州H药品的报道以及15年各州H药品的报道
#再提取出来每年的不同的值对应相减
df_4=df.groupby(['YYYY','State','SubstanceName']).sum()
H_2014=df_4.groupby(['YYYY','SubstanceName']).get_group((2014,'Heroin')).values[0:6]
H_2015=df_4.groupby(['YYYY','SubstanceName']).get_group((2015,'Heroin')).values[0:6]
H_2015-H_2014

在这里插入图片描述
所以OH州2014到2015年Heroin的增量最大

(b)

df_5=df.groupby(['YYYY','State','SubstanceName']).sum()
df_5.groupby(['YYYY','State']).get_group((2014,'OH'))
df_5.groupby(['YYYY','State']).get_group((2015,'OH'))
#尝试中断 失败

在这里插入图片描述
近期课程作业做多,以后要好好复习一下每一章问题与练习!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值