本篇内容主要讲解“Python中的pandas知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中的pandas知识点有哪些”吧!

前言

pandas 是基于 Numpy 的一种工具,该工具是为解决数据分析任务而创建的,pandas 纳入了大量库和一些标准的数据模型,提供了高效的操作大型数据集所需要的的工具,pandas 提供了大量能使我们快速便捷地处理数据的函数和方法。

一、pandas 操作流程

表格数据的增删改查;

实现多表格处理;

数据清洗操作:缺失值,重复值,异常值,数据标准化,数据转换操作;

实现 excel 的特殊操作,生成透视表,交叉表;

完成统计分析。

二、pandas 的创建

1、导入 pandas 库

importpandasaspd

2、表结构数据,构建 Dataframe

columns:列索引 index:行索引 values:元素数据

方式一:

df=pd.DataFrame(

data=[['alex',20,'男','0831'],['tom',30,'女','0830'],],

index=['a','b'],#可以不写,默认从0开始,也可以直接指定字符进行排序

columns=['name','age','sex','class'],

)#构建方法

print(df)#打印数据

nameagesexclass
aalex20男0831
btom30女0830

方式二:

df1=pd.DataFrame(data={'name':['tom','alex'],'age':[18,20],'sex':['男','女'],'class':['0831','0831']})

print(df)#打印数据,没有指定index字符排序时,默认从0开始排序

nameagesexclass
0alex20男0831
1tom30女0830

3、dataframe 的属性

因为 pandas 基于 numpy,因此,numpy 的 ndarray 的属性,dataframe 也同样具有。

df.shape #结构

df.ndim #维度

df.size #数量

df.dtypes #元素的数据类型

df.columns #列索引

df.index #行索引

df.values #元素

三、df 的查找

1、索引某一列值

df1[‘name’] 一维的切法,返回的是 series

print(df1['name'])#切一列值的方法

0tom
1alex

2、切多列值的方法

print(df1[['name','age']])

nameage

0tom18

1alex20

print(type(df1[['name','age']]))#series是一维的类型,只有一个轴

<class'pandas.core.series.Series'>

3、索引切的方法

方法一:

print(df[['name','age']][:2])#不能指定行进行索引

nameage

aalex20

btom30

方法二:

索引切的方法:df.loc[行索引名称、条件,列的索引名称]

print(df.loc['a','name'])

alex

df.loc['a',['name']]#<class'pandas.core.series.Series'>行或者列,只要有一个为字符串,是一维

df.loc[['a'],['name']]#<class'pandas.core.frame.DataFrame'>行或者列,两个参数都为列表,是二维

4、条件索引: bool 切片

mask=df['age']>18#返回所有大于18岁的同学,返回True,False

mask2=df['sex']=='女'#返回所有女的同学

mask3=mask&mask2#将两个mask进行结合,不能使用and,只能使用&逻辑与

print(mask3)

aFalse

bTrue

dtype:bool

print(df.loc[mask3,:])#利用mask,对数据进行切片

nameagesexclass

btom30女0830

5、索引查询:iloc【行的索引,列的索引】#前闭后开

print(df.iloc[:1,:])

nameagesexclass

aalex20男0831

四、df增加方法

1、键值对添加列

#df['address']=['北京','上海']两种方式,一一对应,直接等于‘北京’,则所有数据都会变成北京

df['address']='北京'

nameagesexclassaddress

aalex20男0831北京

btom30女0830北京

2、append 增加行

df_mini=pd.DataFrame(data={

'name':['jerry','make'],

'age':[15,18],

'sex':['男','女'],

'class':['0831','0770'],

'address':['北京','河南']

},index=['a','b'])

df4=df.append(df_mini)

print(df4)

aalex20男0831北京

btom30女0830北京

ajerry15男0831北京

bmake18女0770河南

五、删除方法

axis:删除的行或者列

inplace:是否修改原始表

a=df4.drop(labels=['address','class'],axis=1)#删除列需要使用一个变量接受

df4.drop(labels=['a'],axis=0,inplace=True)

六、修改

切出指定数据,再进行赋值修改

c=df4.loc[df4['name']=='tom','class']='有问题'

print(c)

nameagesexclassaddress

aalex20男0831北京

btom30女有问题北京

ajerry15男0831北京

bmake18女0770河南

七、统计分析

1、延用了 Numpy 中的 10 个统计方法

min() argmin() max() argmax() std() vat() sum() mean() cumsum() cumprod()

2、pandas 中的方法

df['age'].min() df['age'].max() df['age'].argsort()

3、众数、非空元素、频数

df['age'].mode()

agrade

bgrade

dtype:object

df['age'].count()

tom1

make1

alex1

jerry1

Name:name,dtype:int64

df['age'].value_counts()

namealex

age20

sex女

class0830

address北京

dtype:object

4、针对 df 类型

df['age'].idxmax(axis=1)#横向比较

df['age'].idxmax(axis=0)#纵向比较

nameagesexclassaddress

0alex15女0831北京

1jerry18男NaNNaN

2make20NaNNaNNaN

3tom30NaNNaNNaN

5、描述 describe

df['age'].describe()

#age

#count4.00非空数目

#mean20.75平均值

#std6.50标准差

#min15.00最小

#25%17.251/4

#50%19.002/4

#75%22.503/4

#max30.00最大

df['name'].describe()

#count:非空数目

#unique:去重之后有几个值

#top:众数

#freq:众数出现的频数

八、Excel 文件的读取

pandas 可以读取多种数据类型,这里介绍下读取 excel 数据的操作方法

pd.read_excel(r'文件路径')

到此,相信大家对“Python中的pandas知识点有哪些”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!