Python中的pandas知识点有哪些
本篇内容主要讲解“Python中的pandas知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中的pandas知识点有哪些”吧!
前言pandas 是基于 Numpy 的一种工具,该工具是为解决数据分析任务而创建的,pandas 纳入了大量库和一些标准的数据模型,提供了高效的操作大型数据集所需要的的工具,pandas 提供了大量能使我们快速便捷地处理数据的函数和方法。
表格数据的增删改查;
实现多表格处理;
数据清洗操作:缺失值,重复值,异常值,数据标准化,数据转换操作;
实现 excel 的特殊操作,生成透视表,交叉表;
完成统计分析。
二、pandas 的创建1、导入 pandas 库
importpandasaspd
2、表结构数据,构建 Dataframecolumns:列索引 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
因为 pandas 基于 numpy,因此,numpy 的 ndarray 的属性,dataframe 也同样具有。
三、df 的查找df.shape #结构
df.ndim #维度
df.size #数量
df.dtypes #元素的数据类型
df.columns #列索引
df.index #行索引
df.values #元素
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知识点有哪些”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。