Python之Pandas數(shù)據(jù)清洗
# 導(dǎo)入pandas模塊,別名為pd
import pandas as pd?
# 聲明一組測試數(shù)據(jù)data
data = {
? ? '姓名':['Jack','Tom','Tim','Tac','Tes'],
? ? '班級(jí)':['A','B','C','D','E'],
? ? '分?jǐn)?shù)':[88,68,50,30,25]??
}
df = pd.DataFrame(data)
df
#獲取指定行
row = df.loc[2]
#獲取多行
duorow = df.loc[1:3]
#獲取不連續(xù)的多行
jiangerow = df.loc[[1,3]]
#篩選,過濾符合條件的數(shù)據(jù)
shaixuanrow = df.loc[df['RQ']<'2022-01-01']
#獲取指定列
column = df['XM']
#獲取多列
dcolumn = df[['XM','RQ']]
#獲取指定值
value = df.iloc[1,2]
#判斷指定列中是否存在該值
is_in_list = df['XM'].isin([value])
#獲取前兩行
df1 = df.head(2)
#獲取后兩行
df2 = df.tail(2)
#獲取數(shù)據(jù)信息
info_data = df.info()
#獲取數(shù)據(jù)的描述信息,例如mean(平均值)
msxx = df.describe()
# 刪除缺失值所在行
df = df.dropna()
#使用平均值替換缺失值
d = df['C'].describe()['mean']
df = df.fillna(d)
#刪除重復(fù)行
df = df.drop_duplicates()
#替換數(shù)據(jù)值
df = df.replace(4,3)
#對指定列進(jìn)行升序排序
df = df.sort_values(by='C',ascending=True)
#對指定列進(jìn)行降序排序
df = df.sort_values(by='C',ascending=False)
#分組統(tǒng)計(jì)
df = df.groupby('A')['C'].count()