pandas库

本文详细介绍了pandas库的使用,包括数据读取与基本操作、缺失值处理、数据透视、数据旋转、分组运算等核心功能。通过实例展示了如何进行数据清洗、格式转换、排序及统计分析,为数据处理提供了全面指导。
摘要由CSDN通过智能技术生成
学习链接:https://www.bilibili.com/video/BV1DT4y1A7yT?p=4&spm_id_from=pageDriver&vd_source=d277ca1c756ccc73d77ba91b2b06064d

raise_exception() : 捕捉异常
format() : 对字符串进行格式化
isinstance(“”,int) : 判断变量是否为指定类型

pandas

np.random.randn(m,n) :随机生成一个mn的二维数组,其中rand n 的n是要求生成的数服从正态分布
pandas库的DataFrame可以定义一个
二维数组二维数组,index(行名),columns(列名),dtype(设置数据类型))
DataFrame也可以传入一个
字典*,传入时key为列名,DataFrame只要求每一列的数据类型是一致即可
headtail可以查看前几行和后几行的数据(默认为5)
下标查看:index(df.index)
列标查看:columns
数据值查看:values

读取数据和数据基本操作

pd.read_excel(‘excel.xlxs’) 默认路径即为当前代码文件的文件夹下,可以在文件名前加上路径(注意可能需要转义字符,或在路径‘’前加 r 表示不要转义)

行操作:df.iloc[0] 查看第一行的数据 iloc[0:5] 前五行(左闭右开) loc[0:5] 前六行(左闭友闭)

增加一行:
dit = {}
s = pd.Series(dit)
s.name = …(行号)
df = df.appand(s)
删除一行:df.drop([行号])
删除一列 :df.drop(‘列名’,axis = 1,inplace=True) axis = 1表示竖着删除,默认axis=0表示删除一行,inplace为true表示删除后保存,覆盖掉原数据

缺失值以及异常值处理
方法说明
dropna根据标签中的缺失值进行过滤,删除缺失值
fillna对缺失值进行填充
isnull返回一个布尔值,判断哪些值是缺失值
notnullisnull 的否定式

np.Nna为空值,np.mean() 获取平均值

删除缺失值
参数

异常值处理:(离群值)
使用判断条件筛选出正常数据
数据判断

df[:5]  :查看数据的前五行

数据格式转换

查看格式:df [‘key’].dtype
转换格式:df [key].astype(‘int’)
修改数据值:df.loc[行号,‘列名’] = num

排序
df.sort_values(by = ‘需要排序的列名’,‘第二排序依据列名(可有可无)’,ascending = false ) ascending为false时为降序排列,默认升序

基本统计分析
df.describe() :对dataframe中的数值型数据进行描述性统计(根据描述性统计来发现异常值)
最值:df [‘列名’].max() df [‘列名’].min()
均值:df [‘列名’].mean()
中位数:df [‘列名’].median()
方差:df [‘列名’].var()
标准差:df [‘列名’].std()
求和:df [‘列名’].sum()
相关系数、协方差:df [ [‘列名1’,‘列名2’] ].cov()
计数:len()

df [‘列名’] . unique () :统计这一列总共有哪些值,返回值是一个数组

数据替换:df [‘列名’] . replace( [‘被替换值’,‘替换值’],[’‘,’'],inplace = true) 多对需要替换时,用列表一一对应
统计每个数据出现的次数:df [‘列名’] . value_counts ()

保存数据
df.to_excel(‘文件夹名’)

数据透视 pivot_table

基础形式: pd.pivot_table(df,index(“列名”)) :针对指定列,对其数据做一个平均值的处理并展示
对年代列进行透视
展示设置:pd.set_option(‘max_columns’,100) :展示100列 pd.set_option(‘max_rows’,100) :展示100行

多个索引:pd.pivot_table(df,index = [‘’,‘’],values = [‘列名’]) 只关心values这一列的数据
索引为:产地,年份
指定函数,获取不同的统计值:pd.pivot_table(df,index = [‘’,‘’],values = [‘列名’],aggfunc = np.sum)
示例非数值的数据删除掉:pd.pivot_table(df,index = [‘’,‘’],values = [‘列名’],aggfunc = np.sum,fill_value=0)
最下方显示总和数据:pd.pivot_table(df,index = [‘’,‘’],values = [‘列名’],aggfunc = np.sum,fill_value=0,margin=true)
不同值对应不同的处理方法时,写成字典形式:aggfunc = {‘列名’:np.num , ‘列名’:np.mean}

在这里插入图片描述

数据重塑和轴向旋转

层次化索引:在一个轴上有多个索引
层次化索引

几种索引方式:
索引
利用unstack方法将Series变成一个DataFrame(二维数组)
unstack方法 可以通过stack方法再转换为Series
stack方法
初始化一个DataFrame:
data = pd.DataFrame(np. arange(12).reshape(4,3)) 【设置为一个4*3的DataFrame对象】
DataFrame

设置行列的层次化索引
通过四个索引来定位一个元素
DataFrame的行列索引 swaplevel:换行或列
swaplevel方法
set_index:把列变为索引
reset_index:把索引变成列
set_index方法转换成功后,每一个索引都是一个元组

通过index值查询数据:df.loc [‘index’]
数据旋转

行列交换:data.T
DataFrame也可以使用stack和unstack,转换成层次化索引的Series
DataFrame的stack方法

数据分组,分组运算

GroupBy技术:作用类似于数据透视表
GroupBy

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

分组运算只针对数值
传入多个分组变量时格式:([ [],[] ])
在这里插入图片描述

离散化处理(分组,区间化【对具体数值不关注,只关注其所在区间,以便定义属性】)

函数:pd.cut()
cut函数对电影的评分进行等级划分
在这里插入图片描述并列条件格式:在这里插入图片描述

合并数据集

append:合并操作
在这里插入图片描述

merge:横向合并(拼接)
在这里插入图片描述在这里插入图片描述打乱原数据操作:在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值