目录
二、Pandas怎样读取数据
四、pandas数据查询
六、pandas数据统计函数
9、Pandas数据进行排序
10、.Pandas字符串处理
11、.Pandas的axis参数怎么理解
12、Pandas的索引index有什么用途
13、Pandas怎样实现数据的Merge
15、Pandas批量拆分与合并Excel文件
16、Pandas怎样实现groupby分组数据统计
一、1.什么是Pandas(Av67831175,P1)
二、Pandas怎样读取数据
| 数据类型 | 说明 | pandas读取方法 |
| csv.tsv.txt | 用逗号分隔、tab分隔的纯文本文件 | pd.read_csv |
| excel | 微软xls湖综合xlsx文件 | pd.read_excel |
| mysql | 关系型数据库表 | pd.read_sql |
1.pandas读取纯文本文件 代码演示
读取csv文件
读取txt文件
2.pandas读取xlsx格式excel文件
3.pandas读取mysql数据表
import pandas as pd
1.读取纯文本文件
1.1读取csv,使用默认标题行、逗号分隔符
fpath = "" rating = pd.read_csv(fpath) //使用pd.read_csv读取数据 ratings.head() //查看前几行数据 ratings.shape //查看数据的形状,返回(行数、列数) ratings.columns //查看列名列表 ratings.index //查看索引列 ratings.dtypes //查看每列的数据类型
三、pandas数据结构
1.Series
2.Dataframe
3.从Dataframe中查询Series
import pandas as pd import numpy as np
1.Series是一种类似于一维数组的对象,它由一组数据(不同数据类型)以及一组与之相关的数据标签(即索引)组成
2.Dataframe
Dataframe是一个表格型数据结构
- 每列可以是不同的数据类型(数值、字符串、布尔值等)
- 既有行索引index,也有列索引columns
- 可以被看做有Series组成的字典
3.从Dataframe中查询出Series
- 如果只查询一行、一列,返回的是pd.Series
- 如果查询多行、多列,返回的是pd.Dataframe
四、pandas数据查询
pandas数据查询的几种方法
1.df.loc方法,根据行、列的标签值查询
2.df.iloc方法,根据行、列的数字位置查询
3.df.where方法
4.df.query方法
.loc既能擦汗讯,又能呢个覆盖写入,强烈推荐
pandas使用df.loc查询数据的方法
1.使用单个label值查询数据
2.使用值列表批量查询
3.使用数值区间进行范围查询
4.使用条件表达式查询
5.使用函数查询
五、pandas新增数据列
在进行数据分析时,经常需要按照一定条件创建新的数据列,然后进行进一步分析
1.直接赋值
2.df.apply方法
3.df.assign方法
4.按条件选择分组 分别赋值
六、pandas数据统计函数
1.汇总类统计
2.唯一去重和按值计数
3.相关系数和协方差
7、pandas对确实数据的处理
- isnull和notnull:检测是否是空值,可用于df和series
- dropna:丢弃、删除缺失值
- axis:删除行还是列,{0 or ‘index’ ,1 or ‘columns’ },default 0
- how:如果等于any则任何值为空都删除,如果等于all则所有值都为空才删除
- inplace :如果为true则修改当前df,否则返回新的df
fillna :填充空值
- value :用于填充的值,可以是单个值,或者字典(key是列名,value是值)
- method:等于ffill使用前一个不为空的值填充forward fill;等于ffill使用前一个不为空的值填充backward fill
- axis :按行还是列填充 {0 or ‘index’ ,1 or ‘columns’ }
- inplace :如果为true则修改当前df,否则返回新的df
8、Pandas的SettingWithCopyWarning报警
9、Pandas数据进行排序
Series的排序:
Series.sort_value(ascending=true ,inplace=false)
ascending : 默认为true升序排序,为false降序排序
inplace :是否修改原始series
Dataframe的排序:
Dataframe.sort_value(by,ascending=True ,inplace=Fals)
by : 字符串或者list<字符串>,单列排序或者多列排序
ascending : bool或者list,升序还是降序,如果是list对应by的多列
inplace :是否修改原始dataframe
10、.Pandas字符串处理
本节演示内容:
1.获取series的str属性,然后使用各种字符串处理函数
2.使用是天然的startwith、contains等bool类series可以做条件查询
3.需要多次str处理的链式操作
4.使用正则表达式的处理
11、.Pandas的axis参数怎么理解
axis=0或者“index”
- 如果是单行操作,就指的是某一行
- 如果是聚合操作,指的是跨行cross rows
axis=1或者“columns”
- 如果是单列操作,就指的是某一列
- 如果是聚合操作,指的是跨行cross columns
12、Pandas的索引index有什么用途
13、Pandas怎样实现数据的Merge
14、Pandas实现数据Concat合并
15、Pandas批量拆分与合并Excel文件
一、讲一个大excel等份拆分成多个excel
1.使用df.iloc方法,将一个大的dataframe,拆分成多个小dataframe
2.将使用dataframe.to_excel保存每个小excel
1.计算拆分后的每个excel的行数
user_names = ["xiao_shuai","xiao_wang","xiao_ming","xiao_lei","xiao_bo","xiao_hong"]
//大的excel 会拆分给几个人
split_size = total_row_count//len(user_names)
二、
16、Pandas怎样实现groupby分组数据统计
类似SQL:
select city,max(temperature)from city_weather group by city;
groupby :现对数据分组,然后在每个分组上应用聚合函数、转换函数
本次演示:
一、分组使用聚合函数做函数统计
二、遍历groupby的结果理解执行流程
三、实例分组探索天气数据
import pandas as pd
import numpy as np
df = pd.dataframe({'A':['foo','bar','foo','bar','foo','bar','foo','bar'],
'B':['one','one','two','three','two','two','two','two'],
'C':np.random.randn(8),
'D':np.random.randn(8)
})
一、使用聚合函数做数据统计
1.单个列groupby,查询所有数据列的统计
df.groupby('A').sum()
2.多个列groupby,查询所有数据列的统计
df.groupby(['A','B']).mean()
df.groupby(['A','B'],as_index=False).mean()
3.同事查看多种数据统计
df.groupby('A').agg([np.sum,np.mean,np.std])
4.查看单列的结果数据统计
df.groupby('A')['C'].agg([np.sum,np.mean,np.std]) //预过滤 性能更好
df.groupby('A').agg([np.sum,np.mean,np.std])['C']
5.不同列使用不同的聚合函数
df.groupby('A').agg({"C":np.sum,"D":np.mean})
二、遍历groupby的结果理解执行流程
for循环可以遍历每个group
17、怎样使用Pandas的分层索引MultiIndex
18、怎样使用Pandas的map-apply-applymap数据转换函数
19、Pandas怎样实现groupby每个分组的apply.mp4
20、Pandas使用stack和pivot实现数据透视.mp4
21、Pandas使用apply函数给表格同时添加多列.mp4



