当前位置:   article > 正文

Python数据分析--Pandas

Python数据分析--Pandas

目录

一、Pandas概述

1、概念:

2、Pandas处理类型数据:

3、Pandas功能优点:

二、Pandas的安装

1.通过Pypl的pip工具安装

2.通过PyCharm开发环境安装

安装xlrd步骤如下:​编辑​编辑​编辑​编辑​编辑

三、数据计算:

1、求和(sum()函数)

(1)参数说明:

(2)示例

 ​编辑

2、求均值(mean()函数) 

 (1)参数说明:

(2)示例

四、数据格式化

1、设置小数位数

(1)参数说明 

 (2)示例

2、设置百分比 

示例:

  1. 五、日期数据处理 http://123456789

1、DataFrame的日期数据转换

(1)概念:

(2)参数说明:

(3)示例

六、总结 


引用:

如何在Linux虚拟器中安装PyCharm?_linux 安装pycharm教程-CSDN博客

一、Pandas概述

1、概念:

Pandas是数据分析三大剑客之一,是Python的核心数据分析库。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供Pandas提供了大量能使我们快速便捷地处理数据的函数和方法,它是使Python成为强大而高效的数据分析环境的重要因素之一。

2、Pandas处理类型数据:

(1)与SQL或者Excel表类似的数据

(2)有序和无序的时间序列数据

(3)带行、列标签的矩阵数据

(4)任意其他形式的观测、统计数据集

3、Pandas功能优点:

Pandas功能很多,优势如下;(1)处理浮点与非浮点数据里的缺失数据,表示为NaN。

(2)大小可变,例如插入或删除DataFrame等多维对象的列。

(3)自动、显示数据对齐,显示地将对象与一组标签对齐,也可以忽略标签,在Series、DataFrame计算时自动与数据对齐。

(4)强大、灵活的分组统计功能,即数据聚合、数据转换。

(5)将Python和NumPy数据结构里不规则、不同索引的数据轻松转换为DataFrame对象。

(6)智能标签,对大型数据集进行切片、花式索引、子集分解等操作。

(7)直观地合并、连接数据集;灵活地重塑、透视数据集。

(8)成熟的导入、导出工具,导入文本文件、Excel文件、数据库等来源的数据,导出Excel文件、文本文件等,利用超快的HDF5格式保存或加载数据。

(9)时间序列:支持日期范围生成、频率转换、移动窗口统计、移动窗口线性回归、日期位移等时间序列功能。

二、Pandas的安装

1.通过Pypl的pip工具安装

2.通过PyCharm开发环境安装

2.(1)运行PyCharm,选择File-Setting命令,打开Setting窗口,选择Project Interpreter选项。(2)点击‘+’号,打开Available Packages窗口,在搜索框中输入需添加的模块pandas,选择,点击Install Package安装。(3)Pandas有一些依赖库,如果只安装Pandas模块,则会缺少依赖库,所以需安装xlrd模块和xlwt模块。

安装xlrd步骤如下:

三、数据计算:

Pandas提供了大量的数据计算函数,可以实现求和求均值求最大值求最小值、求中位数、求众数求方差标准差等,从而使得数据统计变得简单高效。

\\本次展示选取求和与求均值

1、求和(sum()函数)

在Python中通过调用DataFrame对象的sum()函数实现行/列数据的求和运算: 

DataFrame.sum(axis=None,skipna=None,level=None,numeric_only=None,min_count=0,**kwargs)

(1)参数说明:


axis:axis=1 表示行,axis=0表示列,默认值为None(无)。
skipna:布尔型,表示计算结果是否排除NaN/Null值,默认值为None。


说明NaN 表示非数值。在进行数据处理、数据计算时,Pandas会为缺少的值自动分配NaN值。

 level:表示索引层级,默认值为None。
numeric_only:仅数字,布尔型,默认值为None。
min_count:表示执行操作所需的数目,整型,默认值为0

**kwargs:要传递给函数的附加关键字参数。
返回值:返回 Series 对象或DataFrame对象。行或列求和数据。

(2)示例

  计算语文、数学和英语三科的总成绩

import pandas as pd
data =[[110,105,99],[105,88,115],[109,120,130]]

index=[1,2,3]
columns =['语文,数学',英语']
df=pd.DataFrame(data=data, index=index, columns=columns) 

下面使用sum()函数计算三科的总成绩:

df['总成绩']=df.sum(axis=1) 

 

2、求均值(mean()函数) 

在Python中通过调用DataFrame对象的mean()函数实现行/列数据平均值运算:

DataFrame.sum(axis=None,skipna=None,level=None,numeric_only=None,**kwargs)

 (1)参数说明:


axis:axis=1 表示行,axis=0表示列,默认值为None(无)。
skipna:布尔型,表示计算结果是否排除NaN/Null值,默认值为None。

 level:表示索引层级,默认值为None。
numeric_only:仅数字,布尔型,默认值为None。
min_count:表示执行操作所需的数目,整型,默认值为0 

**kwargs:要传递给函数的附加关键字参数。
返回值:返回 Series 对象或DataFrame对象。行或列平均值数据。

(2)示例

计算语文、数学和英语各科的平均值:

import pandas as pd
data =[[110,105,99],[105,88,115],[109,120,130],[112,115]]

index=[1,2,3,4]
columns =['语文,数学',英语']
df=pd.DataFrame(data=data, index=index, columns=columns) 

new=df.mean()

#增加一行数据(语文、数学和英语的平均值,忽略索引)

df=df.append(new,ignore_index=True)

四、数据格式化

  在进行数据处理时,尤其是在数据计算中应用求均值后,发现结果中的小数位数增加了许多。此时就需要对数据进行格式化,以增加数据的可读性。例如,保留小数点位数、百分号、千位分隔符等。

\\本次展示选取小数位数和百分比

1、设置小数位数

  设置小数位数主要使用DataFrame对象的round()函数,该函数可以实现四舍五入,而它的decimals参数则用于设置保留小数的位数,设置后数据类型不会发生变化,依然是浮点型。语法如下:

DataFrame.round(decimals=0,*args,**kwargs)

(1)参数说明 

decimals:每一列四舍五入的小数位数,整型、字典或Series对象。如果是整数,则将每一列四舍五入到相同的位置。否则,将字典和Series舍入到可变数目的位置;如果小数是类似于字典的,那么列名应该在键中;如果小数是级数,列名应该在索引中。没有包含在小数中的任何列都将保持原样。非输入列的小数元素将被忽略。

*args:附加的关键字参数。

**kwargs:附加的关键字参数。

返回值:返回DataFrame 对象。

 (2)示例

  使用round()函数四舍五入保留小数位数:

import pandas as pd

import numpy as np

df=pd.DataFrame(np.random.random([5,5])

        columns=[‘’A1‘,’A2‘,’A3‘,’A4‘,’A5’])

print(df.round(2))#保留小数点后两位

print(df.round({'A1':1,'A2':2}))#A1列保留小数点后一位、A2列保留小数点后两位

s1=pd.Series({1,0,2],index=['A1','A2','A3'])

print(df.round(s1))#设置Series对象小数位数

 

2、设置百分比 

  在数据分析过程中,有时需要百分比数据。那么,利用自定义函数将数据就行格式化处理,处理后的数据就可以从浮点型转换成带指定小数位数的百分比数据,主要使用apply()函数与fromat()函数。

示例:

将A1列的数据格式化为百分比数据:

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.random([5, 5]),    
        columns=['A1','A2', 'A3','A4','A5'])
df['百分比']=df['A1'].apply(lambda x: format(x,'.0%'))    #整列保留 0位小数    
print(df)    
df['百分比’]=df['A1'].apply(lambda x: format(x,'.2%'))    #整列保留两位小数
print(df)    
df['百分比']=df['A1'].map(lambda x:'{:.0%}'.format(x))    #使用 map()函数整列保留0位小数    
print(df)

五、日期数据处理 

1、DataFrame的日期数据转换

(1)概念:

  to_datetime()方法可以用来批量处理日期数据转换,对于处理大数据非常实用和方便,它可以将日期数据转换成你需要的各种格式.
  to_datetime()方法的语法如下:

pandas.to_datetime(arg,errors='ignore',dayfirst=False,yearfirst=False,utc=None,box=True,format=None,exact= True,unit=None,infer_datetime_format=False,origin='unix',cache=False)
 

(2)参数说明:

arg:字符串、日期时间、字符串数组。
errors:值为ignore、raise或coerce,具体说明如下,默认值为ignore,即忽略错误。
ignore:无效的解析将返回原值。 raise:无效的解析将引发异常。
coerce:无效的解析将被设置为NaT,即无法转换为日期的数据将被转换为NaT。

dayfrst:第一个为天,布尔型,默认值为False。例如02/09/2020,如果值为True,则解标期的第一个为天,即2020-09-02;如果值为False,则解析日期与原日期一致,即2020-02-09.
yearfirst:第一个为年,布尔型,默认值为False。例如14-Feb-20,如果值为True,则解析是    
期的第一个为年,即2014-02-20;如果值为False,则解析日期与原日期一致,即2020-02=14.
utc:默认值为None。返回 utc 即协调世界时间.

box:布尔值,默认值为True,如果值为True,则返回DatetimeIndex;如果值为False,则返    
回ndarray。
format:格式化显示时间的格式。字符串,默认值为None。
exact:布尔值,默认值为True。如果为True,则要求格式完全匹配;如果为False,则允许式与目标字符串中的任何位置匹配。
unit:默认值为None,参数的单位(D、s、ms、μs、ns)表示时间的单位。
infer_datetime_format:默认值为False。如果没有格式,则尝试根据第一个日期时间字符串    
断格式。
origin: 默认值为 unix。定义参考日期。数值将被解析为单位数。
cache: 默认值为 False。如果值为True,则使用唯一、转换日期的缓存应用日期时间转换。    
解析重复日期字符串,特别是带有时区偏移的字符串时,可能会产生明显的加速。只有不少有50个值时才使用缓存。越界值的存在将使缓存不可用,并可能减慢解析速度。

返回值:日期时间。

(3)示例

  将2020年2月14日的各种形式转换为日期格式:

import pandas as pd  

df=pd.DataFrame({'原日期':['14-Feb-20','02/14/2020','2020.02.14','2020/02/14','20220214']})

df[转换后的日期']=pd.to_datetime(df['原日期]   
print(df)

六、总结 

  在Python数据分析学习中,我学会了如何使用pandas进行数据的读取和写入。pandas提供了丰富的读取和写入数据的函数,可以轻松地处理各种数据格式,如CSV、Excel、SQL等。Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。
Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。Pandas 主要引入了两种新的数据结构:DataFrame 和 Series。通过对Pandas的学习,我可以更加高效地读取和处理不同类型的数据,为后续的数据分析工作提供了基础。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/615634
推荐阅读
相关标签
  

闽ICP备14008679号