说明: 这里只是简单的说明了一些pandas中的一些我在毕设中使用到的函数,这个 模块的并未具体其他的一些功能并未详细的进行说明。

pandas 简单介绍

Python语言的Pandas模块是一种高效结构化数据分析工具,它在NumPy的基础上提供了DataFrame数据结构,并以此为核心提供了大量的数据的输入输出、清洗、处理和分析等一些函数

pandas 相当于 python 中 excel:它使用表(也就是 dataframe),能在数据上做各种变换,但还有其他很多功能。

pandas的引入

# as 作用是为了这个模块指定别名方便使用

import pandas as pd

pandas 导入数据

读取CSV文件中的内容:

df = pandas.read_csv(filepath_or_buffer, sep =',', usecols,names )

参数的含义

filepath_or_buffer:文件路径

sep :分隔符,默认用","隔开

usecols:指定读取的列名,列表形式

names: 指定列名

读取 Excel 中的 数据

pd.read_excel(file, sheet_name)

sheet_name参数允许指定单张表格或多张表格被读取。

sheet_name的默认值是0,这表明读取的是第一张表格。

注: 这直说了如何导入CSV文件和Excel中的数据,其他类型的可以参考pandas中文网的io工具进行学习

pandas中的一些方法

查看数据的基本信息

# 会展示data数据中是列中是数字类型的统计情况,data后面可以指定列名,查看某一列的信息data[列名]

data.describe()

该方法会显示出数据的总数,平均数,中位数,25%分为数等信息

下图为在 jupyte notebook 中使用该方法返回的示例:

查看数据的整体情况,可以查看出数据的每一列的确实情况和数据类型

data.info()

示例图如下:

统计出现的次数

df[column_1].value_counts()

value_counts() 统计该列中每一项出现的次数

value_counts() 后面可以进行切片,进行选择输出

上面的内容 可以使用for循环将处理后的数据构造成字典

for name,data in df['areaName'].value_counts().items():

print(name,data)

选择为特定值的数据

df1 = df[df.列名==值]

# 或者使用下面这种方式

df1 = df[df['列名']==值]

排序

按照值排序

df.sort_values(by=, ascending=)

参数:

by:指定排序参考的键

若是单个键则为字符串,若是多个键则是一个列表,列表中是排序参考的键

ascending:默认升序

ascending=False:降序

ascending=True:升序

按照索引排序

# 对索引进行排序

data.sort_index()

cut函数

pandas.cut用来把一组数据分割成离散的区间。比如有一组面积数据,可以使用pandas.cut将面积数据分割成不同的范围并打上标签。

pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False, duplicates='raise')

参数含义

x:被切分的类数组(array-like)数据,必须是1维的(不能用DataFrame);

bins:bins是被切割后的区间(或者叫“桶”、“箱”、“面元”),有3中形式:一个int型的标量、标量序列(数组)或者pandas.IntervalIndex 。

当bins为一个int型的标量时,代表将x平分成bins份。x的范围在每侧扩展0.1%,以包括x的最大值和最小值。

标量序列定义了被分割后每一个bin的区间边缘,此时x没有扩展。

pandas.IntervalIndex 定义要使用的精确区间。

right:bool型参数,默认为True,表示是否包含区间右部。比如如果bins=[1,2,3],right=True,则区间为(1,2],(2,3];right=False,则区间为(1,2),(2,3)。

labels:给分割后的bins打标签,比如把年龄x分割成年龄段bins后,可以给年龄段打上诸如青年、中年的标签。labels的长度必须和划分后的区间长度相等,比如bins=[1,2,3],划分后有2个区间(1,2],(2,3],则labels的长度必须为2。如果指定labels=False,则返回x中的数据在第几个bin中(从0开始)。

retbins:bool型的参数,表示是否将分割后的bins返回,当bins为一个int型的标量时比较有用,这样可以得到划分后的区间,默认为False。

precision:保留区间小数点的位数,默认为3.

include_lowest:bool型的参数,表示区间的左边是开还是闭的,默认为false,也就是不包含区间左部(闭)。

duplicates:是否允许重复区间。有两种选择:raise:不允许,drop:允许。

返回值

out:一个pandas.Categorical, Series或者ndarray类型的值,代表分区后x中的每个值在哪个bin(区间)中,如果指定了labels,则返回对应的label。

bins:分隔后的区间,当指定retbins为True时返回。

示例

area = [100,2,52,56,90,15,62,23,10,85,400,102,13,25,98,300,200,20,230,25,89,58,205,102,150,130,125]

area_level = [0, 50, 100, 150, 200, 250, 300, 500]

label_level = ['小于50', '50-100', '100-150', '150-200', '200-250', '250-300', '300-350']

# 使用 cut 对数据 进行分段分组 对 数据的 jzmj 字段 按照 area_level 进行分段

# 参数 labels 是 对分段后的每个区间打上标签

jzmj_cut = pd.cut(area, area_level, labels=label_level)

在 jupyter notebook 中输出 jzmj_cut 的结果为

使用 jzmj_cut.value_counts() 进行统计的结果为

分组和聚合

分组聚合的示意图:

pandas中分组函数

DataFrame.groupby(key, as_index=False)

key:分组的列数据,可以多个(即分组的条件)

聚合函数

count计算分组中非NA值的数量

sum计算非NA值的和

mean计算非NA值的平均值

median计算非NA值的算术中位数

std、var计算非NA值标准差和方差

min、max获得非NA值的最小和最大值

prod计算非NA值的积

first、last获得第一个和最后一个非NA值

分组聚合示例

col =pd.DataFrame({'color': ['white','red','green','red','green'], 'object': ['pen','pencil','pencil','ashtray','pen'],'price1':[5.56,4.20,1.30,0.56,2.75],'price2':[4.75,4.12,1.60,0.75,3.15]})

# 对颜色进行分组 并对分组后的price1字段进行求平均值的聚合操作

col['price1'].groupby(col['color']).mean()

# 输出的结果

color

green 2.025

red 2.380

white 5.560

Name: price1, dtype: float64

# 对 数据按照颜色进行分组,对分组后的数据进行聚合操作

col.groupby(col['color']).mean()

输出的结果为:

apply函数

apply函数可以对DataFrame对象进行操作,既可以作用于一行或者一列的元素,也可以作用于单个元素

apply中必传的参数是一个函数,可以是一个匿名函数或者自定义的函数

df['szlc'].apply(lambda x:x[:3]).value_counts()

# 或者下面这种实现方式

‘’‘

def f(x):

return x[:3]

df['szlc'].apply(f).value_counts()

’‘’

上面的例子是对数据中的szlc这一列中的每一行按照前三个字符进行分类并统计每一类中的总和

原文链接:https://blog.csdn.net/weixin_42038022/article/details/106019069

python pandas csv时间聚合_pandas中简单统计分组聚合函数的介绍相关推荐

  1. python pandas csv时间聚合_Python通过pandas操作excel常用功能

    1.导入数据源 #导入相关库 import pandas as pd import numpy as np import os from pandas import DataFrame,Series ...

  2. python pandas csv 写文件_Pandas读写CSV文件的方法介绍(附代码)

    本篇文章给大家带来的内容是关于Pandas读写CSV文件的方法介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 读csv:使用pandas读取import pandas ...

  3. python中的内置函数getattr()介绍及示例

    python中的内置函数getattr()介绍及示例 其实getattr()这个方法最主要的作用是实现反射机制.也就是说可以通过字符串获取方法实例.这样,你就可以把一个类可能要调用的方法放在配置文件里 ...

  4. C#中ToInt32以及类似函数用法介绍

    C#中ToInt32以及类似函数用法介绍 作用 程序举例 程序逻辑 程序代码 程序 作用 将指定的值转换为 32 位有符号整数.对应的还有ToInt16,ToInt64 指定的值可以是字符串.时间.位 ...

  5. python pandas csv 追加 空行,python – Pandas:read_csv在空行后忽略行

    有一个奇怪的.csv文件,如: header1,header2,header3 val11,val12,val13 val21,val22,val23 val31,val32,val33 很好,但在这 ...

  6. Python 读取 csv 文件忽略引号中字段的逗号

    如题,使用 Python 处理 csv 文件,之前是这么处理的: str = '飞机,火车,汽车' rel = str.split(',') > ['飞机','火车','汽车'] 一般情况下是正 ...

  7. python pandas csv getitem,访问.csv文件时使用Pandas获取KeyError

    出于某种原因,在查看我拥有的.csv股票数据时,大熊猫会抛出错误 . 这是错误: Traceback(最近一次调用最后一次):文件"/usr/local/lib/python3.7/site ...

  8. Python | 删除csv或者tsv文件中的emoji表情符号

    删除csv或者tsv文件中的emoji表情符号,并保存到另外的csv文件中 参考链接码起来: https://blog.csdn.net/okm6666/article/details/8100339 ...

  9. Python线性代数扩展库numpy.linalg中几个常用函数

    本文内容节选自董付国老师2000页Python系列课件第17章"数据分析.科学计算.可视化.机器学习"(本章PPT共410页). ----------相关阅读---------- ...

最新文章

  1. [RHEL5企业级Linux服务攻略]--第6季 Vsftpd服务全攻略之高级配置
  2. maven 的依赖传递
  3. python中与时间有关的对象-datetime、time、date
  4. citrix android,Citrix Receiver
  5. .NET跨平台实践:用C#开发Linux守护进程
  6. YOLO-LITE:专门面向CPU的实时目标检测
  7. golang自带的rpc 服务端
  8. iOS开发之UIApplication
  9. vue获取麦克风_vue使用recorder.js实现录音功能
  10. php列表代码怎么做的,php项目实战:代码讲解之订单列表问题
  11. JAVA企业级应用服务器之TOMCAT实战
  12. 【Redis】Redis中使用Lua脚本
  13. matlab 打不开excel文件
  14. HTML-零基础入门
  15. (第五章) UI--PS基础 调色与校色
  16. 什么打印软件比较好用?可以打印资料的网上打印平台
  17. java五子棋小游戏含免费源码
  18. python精通能赚钱吗_月入3千到月入10万,精通数据分析的人到底有多赚?
  19. ::ng-deep 与 :host ::ng-deep
  20. MES 系统价格多少钱?企业如何甄选MES 厂商?

热门文章

  1. linux gcc编译只能编译一条,请教一个gcc编译器的问题啊
  2. 嵌入式linux只读保护,如何使用squashfs只读文件系统制作Linux系统文件
  3. h3c使用acl控制ftp访问_H3C访问控制列表(ACL)实例精华
  4. jquery load 事件用法
  5. 雷林鹏分享:jQuery EasyUI 拖放 - 基本的拖动和放置
  6. 51单片机学习笔记(郭天祥版)(3)——引脚讲解、数码管静态显示、中断系统(外部中断,定时器中断)...
  7. 目标检测之Faster-RCNN的pytorch代码详解(模型准备篇)
  8. 转:漫画 我讨厌阅读别人的代码
  9. C语言课后习题(8)
  10. mysql查询有数据但返回null_Mybatis查不到数据查询返回Null问题