pandas——描述性统计方法和时间类型
1.pandas描述性统计方法
pandas提供了更加便利的方法来计算均值 ,如 detail['amounts'].mean()
pandas还提供了一个方法叫作 describe,能够一次性得出数据框所有数值型特征的非空值数目、均值、
四分位数、标准差。detail[['counts','amounts']].describe()
方法名称 | 说明 | 方法名称 | 说明 |
min | 最小值 | max | 最大值 |
mean | 均值 | ptp | 极差 |
median | 中位数 | std | 标准差 |
var | 方差 | cov | 协方差 |
sem | 标准误差 | mode | 众数 |
skem | 样本偏度 | kurt | 样本蜂度 |
quantile | 四分位数 | count | 非空值数目 |
describe | 描述统计 | mad | 平均绝对离差 |
import pandas as pd###加载数据
detail = pd.read_excel('./meal_order_detail.xlsx')
print('detail', detail)
### 查看df的属性-----数据类型
print('detail的数据类型', detail.dtypes)###pandas中的统计分析## max min var mean std ptp(极差) count(非空数目总数) mode(众数)# 以amounts为例
print("amounts的最大值", detail['amounts'].max())
print("amounts的最小值", detail['amounts'].min())
print("amounts的方差", detail['amounts'].var())
print("amounts的标准差", detail['amounts'].std())
print("amounts的极差", detail['amounts'].ptp())
print("amounts的非空数目", detail['amounts'].count())
print("amounts的众数", detail['amounts'].mode())##describe()
##amounts----->int64 数值型###返回8种结果
# count mean std min 分位数 max
print("amounts的describe统计指标:", detail['amounts'].describe())
describe统计指标输出结果:
2.类别型特征的描述性统计
描述类别型特征的分布状况,可以使用频数统计表。pandas库中实现频数统计的方法为value_counts。
pandas提供了categories类,可以使用astype方法将目标特征的数据类型转换为category类别。
describe方法除了支持传统数值型以外,还能够支持对category类型的数据进行描述性统计,四个统计
量分别为列非空元素的数目,类别的数目,数目最多的类别,数目最多类别的数目。
import pandas as pddetail = pd.read_excel('./meal_order_detail.xlsx')print("dishes_name的describe统计指标:",detail['dishes_name'].describe())###对于数值型数据进行统计众数,众数的次数--->简单的统计分析实现不了
#1.先将数值型转化为类别型,然后用describe()进行统计分析###df的数据类型可以通过astype进行类型转换
detail['amounts'] = detail['amounts'].astype('category')
print("detail的数据类型",detail.dtypes)###再进行describet统计分析
print("转化后的统计指标:",detail['amounts'].describe())
转化后的统计指标输出结果为:
3.时间类型
在多数情况下,对时间类型数据进行分析的前提就是将原本为字符串的时间转换为标准时间类型
pandas继承了NumPy库和datetime库的时间相关模块,提供了6种时间相关的类。
类名称 | 说明 |
Timestamp |
最基础的时间类。表示某个时间点。在绝大多数的场景中的时间数据都是 Timestamp形式的时间 |
Period | 表示单个时间跨度,或者某个时间段,例如某一天,某一小时等。 |
Timedelta | 表示不同单位的时间,例如1天,1.5小时,3分钟,4秒等,而非具体的某个时间段。 |
DatetimeIndex | 一组Timestamp构成的Index,可以用来作为Series或者DataFrame的索引 |
PeriondtimeIndex | 一组Period构成的Index,可以用来作为Series或者DataFrame的索引 |
TimedeltaIndex | 一组Timedelta构成的Index,可以用来作为Series或者DataFrame的索引。 |
####pandas 默认支持的时间点的类型为:Tiemstamp0
# 默认支持的时间序列类型为:DatetimeIndex###numpy 里面默认支持datetime64[ns] 类型
##pandas 是封装numpyimport pandas as pd### 加载数据
detail = pd.read_excel('./meal_order_detail.xlsx')
print('detail',detail)####拿出时间数据---place_order_time
date = detail['place_order_time']### 将普通时间序列 转化为pands默认支持的时间序列
detail['place_order_time'] = pd.to_datetime(date)
print(detail.dtypes)detail['place_order_time'] = pd.DataFrame(date)
print(detail.dtypes)se = pd.Series(['2019-6-19','2019-6-20'])
print(se)se = pd.to_datetime(['2019-6-19','2019-6-20'])
print('se的时间类型',type(se))####时间序列的操作
##获取年数据
year = [i.year for i in detail['place_order_time']]
print(year)##月
month = [i.month for i in detail['place_order_time']]
print(month)##日
day = [i.day for i in detail['place_order_time']]
print(day)###hour minute second##weekday_name----h、获取轴几
weekday = [i.weekday_name for i in detail['place_order_time']]
print(weekday)###获取季度
quarter = [i.quarter for i in detail['place_order_time']]
print(quarter)###获取闰年
leap_year = [i.is_leap_year for i in detail['place_order_time']]
print(leap_year)###时间相加相减
detail['hh'] = detail['place_order_time']+pd.Timedelta(days=1)
print(detail[['place_order_time','hh']])### 计算2019-06-10 距离现在多长时间
time = pd.to_datetime('2019-06-19')-pd.to_datetime('2019-06-10')
print(time)###计算机最早时间和最晚时间
print("min:",pd.Timestamp.min)
print("max:",pd.Timestamp.max)
pandas——描述性统计方法和时间类型相关推荐
- Pandas描述性统计
pandas描述性统计 数值型数据的描述性统计主要包括了计算数值型数据的完整情况.最小值.均值.中位 数.最大值.四分位数.极差.标准差.方差.协方差等.在NumPy库中一些常用的统计学函数也可用于对 ...
- 100天精通Python(数据分析篇)——第62天:pandas常用统计方法大全(含案例)
文章目录 一.常用统计方法与案例 1. 求和(sum) 2. 求平均值(mean) 3. 求最小值(min) 4. 求最大值(max) 5. 求中位数(median) 6. 求众数(mode) 7. ...
- Python科学计算库 — Pandas数学统计方法
首先导入pandas库 import numpy as np import pandas as pd Pandas 常用的数学统计方法如下表: 方法 说明 count 计算非NA值的数量 descri ...
- 100天精通Python(数据分析篇)——第72天:Pandas文本数据处理方法之判断类型、去除空白字符、拆分和连接
文章目录 每篇前言 一.Python字符串内置方法 1. 判断类型 2. 去除空白字符 3. 拆分和连接 二.Pandas判断类型 1. str.isspace() 2. str.isalnum() ...
- python计算标准差函数_Python pandas,pandas常用统计方法,求和sum,均值mean,最大值max,中位数median,标准差std...
mean()平均值 median()中位数 max()最大值 min()最小值 sum()求和 std()标准差 Series类型独有的方法: argmax()最大值的位置 a ...
- python pandas的统计方法
在学习pandas的时候接触到一些不了解的统计算法,查阅相关资料,总结和实例如下 #统计 idx = "hello the cruel world".split() val = [ ...
- pandas基础(part3)--描述性统计
学习笔记,这个笔记以例子为主. 开发工具:Spyder 文章目录 numpy描述性统计 Pandas描述性统计 numpy描述性统计 数值型数据的描述性统计,主要包括了计算数值型数据的完整情况.最小值 ...
- [pandas基础] Python Pandas描述性统计基础内容
Pandas描述性统计简介 描述统计学(descriptive statistics)是一门统计学领域的学科,主要研究如何取得反映客观现象的数据,并以图表形式对所搜集的数据进行处理和显示,最终对数据的 ...
- 统计正数和负数的个数然后计算这些数的平均值_描述性统计-统计学基础
前言 所谓"工欲善其事必先利其器",作为一名数据分析师,统计学知识就是手中的"器",亦是数据分析的基础.在日常工作中统计学知识用到最多的就是描述性统计方法,有些 ...
最新文章
- Virtual Box+Centos7.0+Kaldi安装
- 2008年 浙工大考研计算机专业课试题C++
- Boost signals(1) 基本介绍
- springboot使用webjars引入jquery
- VC导入导出二维数组到 .txt
- 关于C++的extern关键字
- AngularJS(三):重复HTML元素、数据绑定
- Java核心类库篇2——lang
- java字节流复制_Java使用字节流复制文件的方法
- webpack静态资源地址注入html,Webpack4+ 多入口程序构建
- bootstrap实现表格
- Android setBackgroundDrawable()过时解决办法
- Axios FormData
- python速学_【Python杂货铺】速学python基础
- 录音文件下载_录音啦(文字语音转换)软件安装教程
- CAPL脚本如何实现TCP Socket通信
- 第四章 《无冬之夜》
- 蓝牙车库门禁卡原理及实践
- 集合:映射,单射,满射,双射
- 安装kali Linux到U盘
热门文章
- ji计算机内存不足怎么回事,Win7提示内存不足的原因及应对措施
- Java实现汉字转换拼音功能
- GPU测试单张图片时间过长
- 解决IE浏览器没有网络的情况
- JAVA创建一个Box类(长方体),在Box类中定义三个变量,分别表示长方体的长(length)、宽(width)和高(heigth)
- magicbookpro做php开发,荣耀MagicBook Pro测评:全面屏专业生产力工具
- API调用展示,淘宝、天猫、拼多多商品页面详情API,APP端原数据参数返回
- 从应用调用vivi驱动分析v4l2 -- 申请缓存(VIDIOC_REQBUFS)
- 【VulnHub靶机渗透】一:BullDog2
- ufs2.1 android bench,小米6使用的是UFS2.1闪存吗?小米6闪存AndroBench跑分成绩