python中处理异常的关键字,python语言关键字在异常处理结构中
首先写入数据帧。
importpandas aspdimportnumpyasnptest _ dict={ id :[1,2,3,4,5,6 ], name:[sdtd , Bob,]
1.检查数据显示数据框的简要总结。这包括每列中非空值df.info的数量(也包括在内)
#返回每列数据的有效描述统计df.describe()。
#检查I,vinenumerate (df.columns)的每个列的索引号和标签:print (i) i,v)
Loc[]和iloc[]都是用于在数据框中查找数据的函数。简单来说,就是不一样。
loc[]传递行和列的名称,例如loc [which row 和 its column]。
Iloc[]传递行和列的索引。例如,iloc[],1是第二行第二列。
Ps:“:”表示所有行或列
所有df _ means=df . loc[: id : math ]# from # id 到 math 列都被分配给iloc [:12]
#要选择多个不连续的列,请选择ImportNumpyasNPDF _ max=df . iloc[:NP . r _[0:1,4] df _ max2。有关处理缺失数据的信息,请参见
丢失的数据df.isnull(。总和))
处理缺少的值1。直接删除。
#axis=0表示删除此行,=1表示删除此列df.dropna(axis=0,inplace=True )2。
用0平均填充、模式数和类型数填充0df.fillna(0,inplace=True)。
Df.fillna(Df.mean),inplace=True) #用于用平均df填充每列中缺少的值。fillna)value={ edu _ deg _ CD 3360 train _ tag } #对于多列, deg,Use inplace=True(3。数据冗余df.duplicated) #而不是 atdd _ type: train _ tag atdd 来检查冗余行。Df。drop _ duplicates)in place=true)# redundant df . duplicated)删除脏数据。如果处理表单包含或写入错误数据,4)脏数据
importpandas aspdimportnumpyasnptest _ dict={ id :[1,2,3,4,5,6 ], name:[sdtd , Bob,]
df.loc[df[math]==\\N]
然后我们要用平均分代替这个脏数据。
df . loc[df[ math ]= \ \ N , math ]=df . drop(1). math . mean))df
5.绘图工具1。素描
importseabornasnsimportmatplotlib . pyplotasplt . fig(fig size=(10,4 ) ) PLT.xlim (-0,120 ) SNS.boxplot
2.圆形分格统计图表
importmatplotlib . pyplotaspltenglish=list(df( English ))bins=[79,85,90,95]English _ cut=PD . cut)Eenglish bins)English _ cut=list(English _ cut)English _ list=[]count _ list=
Pend(英语)count _ list。append(count)print(English _ list)print(count _ list)#设置为显示中文PLT . RC params[ font . sans-serif ]=[ sim hei ]#指定默认字体plt.figure (FIG size=(15,10)) plt.axis (equal) #这行代码使饼图的长度和宽度相等plt.pie (count _ list,labels=English _ list,explode=(0.1,0,0.2),autopct=%)
6.这里有一些函数:合并、连接和追加。
同样,我们先创建两个数据框。
test_dict1={id:[1,2,3,4,5,6], name:[sdtd , Bob , drdby , Eric , qfddy , Grace ], math:[88,89,99,78,97,93], english:[89,94,80,94,94,90]}df1=pd。data frame(test _ dict)df 1 test _ dict 2={ id :[1,2,3,4,5,6], name:[sdtd , Bob , drdby , Eric , qfddy , Grace ], sex:[female , male , female , female , female , female , female , female]}df2=pd。数据帧(test_dict)df2
Merge函数,默认会按照同一个字段连接,其他参数一般不使用,只能两两拼接。
合并(df2)
Concat()函数pd.concat(objs,#要合并的对象的轴=0,#选择要合并的轴,0按列,1按行join=outer ,#连接方法,默认union join_axes=None,#参数join_axes可以指定索引来对齐数据。这将切断除指定索引Ignore _ index=false之外的数据。#当ignore_index=True时,新的df将不使用拼接成员df的索引,而是重新生成一个索引值keys=none,levels=none,names=none从0开始,verify_integrity=False,copy=True ) pd.concat([df1,df2],axis=1)
pd.concat([df1,df2],轴=0)
append函数将追加的对象添加到调用方的末尾(类似于list的方法)。DataFrame.append(other,ignore_index=False,verify_integrity=False,sort=None) df1.append(df2)
7.分类变量改成数值变量我们来看这样一张表,想要把性别变成数值变量
import pandas as PD import numpy as NP test _ dict={ id :[1,2,3,4,5,6], name:[sdtd , Bob , drdby , Eric , qfddy , Grace ], math:[90,90,99,78,97,93], sex:[F , M , M]}df=pd .数据帧(测试_字典)df
方法一:采用实例
从sklearn .预处理导入LabelEncoderclass _ le=LabelEncoder()df[ sex ]=class _ le。fit _ transform(df[ sex ].值)df
2, 映射字典将类标转换为整数
导入数组为NP # class _ mapping={ label:idx for idx,label in enumerate(NP。unique(df[ sex ])} class _ mapping={ label:idx for idx,label in [[1, M],[0, F ]} df[ sex ]=df[ sex ].map(class_mapping)df
3.使用一个热点编码创建一个新的虚拟特征
#3,使用一个热点编码创建一个新的虚拟特征从sklearn。预处理导入OneHotEncoderpf=PD。get _ dummies(df[[ sex ]])#生成两列数据性_F和性_M,对应性别的行为1,否则为0df=pd.concat([df,pf],axis=1)df.drop([sex],axis=1,inplace=True)df
8.改变数据类型这里提供一个函数,大家自行融会贯通
def down cast _ dtypes(df):cols _ float=[c for c in df if df[c].dtype== float 66 ]cols _ object=[c for c in df if df[c].dtype== object ]cols _ int 64 _ 32=[c for c in df if df[c].dtype in [int64 , int 32 ]]df[cols _ float]=df[cols _ object].astype(NP。浮动32)df[列对象]=df[列对象]。astype(NP。float 32)df[cols _ int 64 _ 32]=df[cols _ int 64 _ 32].astype(np.int16)返回df
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。