Pandas 資料清洗常見方法

2022-06-26 10:57:12 字數 3664 閱讀 9026

df=pd.read_csv('檔名稱')
df.info()
df.shape
df.describe()
df.drop_duplicates(inplace=true)
data.reset_index(inplace=true,drop=true)
data.loc[data['列名'].isnull()]
01 每一列資料的缺失值進行統計
data.isnull().sum()
# 用0填充

data=data.fina(0)

# 將這一列的空值填充為平均值,型別為int型別

df_all['列名'] = df_all.列名.fillna(int(df_all.列名.mean())).astype('int')

data.isnull().any()
data['列名'].value_counts
data['列名'].value_counts().sort_values()
01 統計店名的銷售額,並排序
data.groupby('店名')['銷售額'].sum().sort_values
cols=df_tm.columns

for col in cols:

print(col+':'+str(df_tm[col].dtype))

df['列名']=df.列名.astype('int')
01 去掉溫度列後的℃,並將資料轉為int型別
df.loc[:,'bwendu']=df['bwendu'].str.replace('℃','').astype('int32')
02 對某列資料轉換型別
data['列名']=data['列名'].astype(int)
mydf.dropna(subset=['列名'],inplace=true)

mysf=mydf.dropna(subset=['列名'])

data=data[`data['列名'].isin(['你好'])]
例:20110/02/02====》202-02-02

data['列名']=pd.to_datetime(data)['time']
data.drop(['列名'],axis=1,inplace=true)
rename_list=

df.rename(rename_list,axis=1,inplace=true)

df[['列1','列2','列3']]
df_all=pd.merge(table1,table2,on='參照列',how='inner')
a.replace('\s+','',regex=true,inplace=true)

# ciy: 提取國家和城市

def transform_country(x):

if '中國' in x:

return '中國'

else:

return x

def transform_city(x):

if '中國' in x:

# height:提取數值

# age: 提取年齡

df_all['age'] = df_all.age.str.extract('.*?\s*\((.*?)歲\)').astype('float')

注釋:str(x) 為了將資料轉換為字元型別

m3 = data1['出發時間'].value_counts().sort_index()[:]

m4 = m3['2020'].index

n4 = m3['2020'].values.tolist()

# 將其轉化為時間格式的陣列

a1 = m4.to_pydatetime()

# 時間轉換成以下格式

a2 = np.vectorize(lambda s: s.strftime('%y-%m-%d'))(a1)

a3 = pd.series(a2).tolist

輸出m4,如下圖所示

輸出a1,如下

輸出a2 ,如下

輸出a3,如下

pandas常用資料清洗方法

以下各例子均使用如下資料集進行演示。判斷各行是重複,false為非重複值。刪除重複行 通過指定列,刪除重複行 對缺失值進行填充 用實數0填充na。通常情況下,刪除行使用引數axis 0,刪除列使用axis 1。按列刪除缺失值,使用引數axis 1。how all 全部是na才刪,any 只要有na就...

pandas資料清洗

1 檢視重複的行 df.duplicated 2 檢視某列重複的行df.duplicated 列標籤 3 刪除重複的行df.drop duplicates 4 刪除某一列重複的行df.drop duplicates 列標籤 1 判斷資料缺失df.isnull 2 資料未缺失df.notnull 3 ...

pandas資料清洗

df.query 查詢符合某個條件語句的 and or 新增一列的值等於df其中兩列的加和 分組求和 df.groupby 可以指定某列進行求和df.groupby 姓名 df插入一列在指定索引 方法一 df.insert 0,colname,value insert one col at firs...