帖子

《Python进阶课程》学习笔记分享园地 | 讯飞AI大学

  [复制链接]
173****1522 发表于 2020-7-15 20:55:12
11#
#Day 1+学习笔记+07/15

Pandas数据分类
Groupby
Aggregate
Transform

import pandas as pd
import numpy as np
df = pd.DataFrame({'key1':['a', 'a', 'b', 'b', 'a'],
                    'key2':['one', 'two', 'one', 'two', 'one'],
                    'data1':np.random.randn(5),
                    'data2':np.random.randn(5)})
list(df.groupby(['key1']))

for name,group in df.groupby(['key1']):
    print(name)
print(group)


for name,group in df.groupby(['key1','key2']):
    print(name)  #name=(k1,k2)
print(group)

df.groupby([1,1,2,2]).agg(['min','max'])#加[] func仅接受一个参数

使用道具 举报 回复
开放平台用户-2eldkn 发表于 2020-7-15 21:43:30
12#
本帖最后由 开放平台用户-2eldkn 于 2020-7-15 21:44 编辑

#Day 1+学习笔记+07/15

长图不知为何上传不上??

使用道具 举报 回复
发表于 2020-7-15 22:16:16
13#
本帖最后由 静 于 2020-7-15 22:17 编辑

#Day 1+学习笔记+07/15

QQ截图20200715221635.png
使用道具 举报 回复
152****1851 发表于 2020-7-15 22:44:14
14#
#Day 1+学习笔记+07/15
本次课程介绍了如何使用Pandas的groupby函数来操作数据。
首先需要导入pandas和numpy库:
import pandas as pd
import numpy as np
可以用 pd.DataFrame() 来创建 Salaries 数据。
创建好后,可以使用groupby_bame=salaries.groupby("Name")来获取相关的group数据,如果需要根据多个列进行分组,可以用groupby_name_year=salaries.groupby("Name","Year"]),
之后就能做一些aggregate操作了:
求总和:groupby_name.sum(),groupby_name_year.sum(),
用aggregate方式就是:groupby_name.aggregate(sum),groupby_name_year.aggregate(sum)。

使用道具 举报 回复
198****3816 发表于 2020-7-15 22:46:56
15#
本帖最后由 198****3816 于 2020-7-15 22:48 编辑

Day1学习笔记07/15



20200715224731.png
使用道具 举报 回复
138****7951 发表于 2020-7-15 23:31:14
16#
#Day 1+学习笔记+07/15
今天主要学习了如何使用python中的Pandas库的groupby、aggregate函数。
要在python中使用pandas,必须先导入库:import pandas as pd
首先要创建一个包含 Name、Year、Salary、Bonus的数据记录:
salaries=pd.DataFrame(){
    "Name":['July','Zewei','Zewei'],
    "Year":[2016,2017,2017],
    "Salary":[10000,2000,4000],
    "Bonus":[3000,1000,12000]
}
要注意各列的数据项要一致,否则会生成失败。
创建好之后,就可以使用groupby获取分组了:groupby_name=salaries.groupby("Name")
然后,就可以对分组进行aggregate操作:groupby_name.aggregate(sum)。

使用道具 举报 回复
157****5358 发表于 2020-7-16 00:29:41 来自手机
17#
学习笔记
------------
Screenshot_20200715_232953_com.iflytek.vflynote.jpg
使用道具 举报 回复
159****3588 发表于 2020-7-16 09:52:02
18#
#Day 2+学习笔记+07/16   Pandas数据整合,merge合并,函数参数left参与合并的左侧DataFrame;right参与合并的右侧DataFrame;how连接方法:inner、left、right、outer;on用于连接的列名;left_on左侧DataFrame中用作连接键的列;right_on右侧DataFrame中用作连接键的列;left_index左侧DataFrame的行索引作为连接键;right_index右侧DataFrame的行索引作为连接键;sort合并后会对数据排序,默认为True,suffixes修改重复名。join()方法能够通过索引或指定列来连接多个DataFrame对象。join(other,on = None,how ='left',lsuffix ='',rsuffix ='',sort = False )。concat(objs, axis=0, join=‘outer’, join_axes=None, ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, sort=None, copy=True)。

使用道具 举报 回复
Tracy 发表于 2020-7-16 14:45:05
19#
#Day 2+学习笔记+07/16
Python进阶.png
使用道具 举报 回复
开放平台用户-2eldkn 发表于 2020-7-16 14:52:36
20#
#Day 1+学习笔记+07/16



20200716.jpg
使用道具 举报 回复