阅读背景:

python学习基于数据的简单处理

来源:互联网 
import pandas as pd
df = pd.read_excel("E://data//朝阳医院2018年出售数据.xlsx")
df.head()    #打印前五行
df.shape     #有多少行,多少列
df.dtypes    #查看每列的数据类型
colNameDict = {"购药时光":"出售时光"}
#列名重命名
df.rename(columns = colNameDict,inplace=True)  #将购药时光改成出售时光 inplace=true表现不创立新的对象直接对原本的数据进行更改,false表现创立新的数据对象
df.head()


#缺失值的处置
print("删除缺失值前的大小",df.shape)
df=df.dropna(subset=["出售时光","社保卡号"],how="any")   #删除列(出售时光,社保卡号)中为空的行,其中how="any"意思为给定列中任何一个有空值就删除行
print("删除缺失值后的大小",df.shape)

#数据类型的转换
df["出售数目"]=df["出售数目"].astype("float")
df["应收金额"]=df["应收金额"].astype("float")
df["社保卡号"]=df["社保卡号"].astype("ocject")
##修正日期
def splitsaletime(timeColser):
    timelist=[]
    for value in timeColser:          #例如2018-01-01 星期五 ,分割后为:2018-01-01
        dateStr = value.split(" ")[0]
        timelist.append(dateStr)

    timeSer= pd.Series(timelist)    #将列表转行动一维数据series类型
    return timeSer

##输入:timecolser--出售时光这一列,是个series数据类型
##输出:分割后的时光,返回也是这个数据类型

timeSer= df.loc[:,"出售时光"]  #获得出售时光这一列
dateSer = splitsaletime(timeSer)  #对字符串进行分割,获得出售日期

df.loc[:,"出售时光"]=dateSer   #修正出售时光这一列的值
df.head()

#字符串转换日期

df.loc[:,"出售时光"]= pd.to_datetime(df.loc[:,"出售时光"],format="%Y-%m-%d",errors="coerce")
df.dtypes


df=df.dropna(subset=["出售时光","社保卡号"],how="any")


##数据排序
#### 应用pd.sort.values办法进行排序,by表现依照那一列进行排序,ascending=true时表现升序排列,false表现降序排列
print("排序前的数据")
df.head()
df=df.sort_values(by="出售时光",ascending=True)
print("排序后的数据")
df.head()

##排序后的行号乱了,,须要进行重新的排序
df= df.reset_index(drop=True)
df.head()


##异常值的处置,,首先我用describe()办法查看数据框中所有数据每列的描写统计信息、
df.dedscribe()   #从成果可以看出出售数目有负值涌现,,多是记载毛病,删除

#删除通过条件断定删除

queryser=df.loc[:,"出售数目"]>0   #设置查询条件
print("删除异常值之前",df.shape)
df= df.loc[queryser,:]        #条件的运用
print("删除异常值以后",df.shape)
import pandas as pd
df = pd.read_excel("E://dat



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: