1. 程式人生 > 其它 >pandas處理大資料題目的操作

pandas處理大資料題目的操作

1、用法:DataFrame.drop(labels=None, axis=0, index=None, columns=None, inplace=False)

2、引數說明:

labels:要刪除的行/列的名字,用列表給出

axis:預設為0,即刪除行,刪除列時指定為1

index:直接指定要刪除的行

columns:直接指定要刪除的列

inplace:預設為False,即刪除操作不改變元資料,而是返回一個執行刪除操作後的新DataFrame,若為True,則會在元資料據上進行刪除操作,刪除後無法返回

3、刪除行列的兩種方式:

1)labels=None, axis=0/1的組合

2)index或columns直接指定要刪除的行或列

1.濾除缺失資料dropna()

import pandas as pd
import numpy as np
df=pd.DataFrame({"record":[np.nan,"亞健康|潘光|45歲","疾病|張思",np.nan],"date":[np.nan,20210102,20210103,20210104]},index=["one","two","three","four"])


1)濾除含有NaN值的所有行
df.dropna()#預設axis=0


2)濾除含有NaN值的所有列
df.dropna(axis=1)


3)濾除元素都是NaN值的行
df.dropna(axis=0,how="all")

5)濾除指定列中含有缺失的行
df.dropna(subset=["record"],axis=0)

以上如果需要在原資料上直接做更改,需設定引數inplace=True

2.刪除重複值 drop_duplicates()
df=pd.DataFrame({'state':[1,1,2,2,1,2,2],'pop':['a','b','c','d','b','c','d']})

語法:drop_duplicates(subset,keep,inplace),其中引數 keep:{‘first’,‘last’,False},預設’first’

first:保留第一次出現的重複項,刪除第二次及之後出現的重複項。

last:保留最後一次出現的重複項,刪除之前出現的重複項。

"false":刪除所有重複項。

1)keep=“first”

df.drop_duplicates(keep="first")

2)keep=“last”

df.drop_duplicates(keep="last")

3)keep=False

df.drop_duplicates(keep=False)

4)刪除指定列中重複項對應的行

df.drop_duplicates(subset=["state"],keep="first")

以上如果需要在原資料上直接做更改,需設定引數inplace=True

3.根據指定條件刪除行列drop()

df=pd.DataFrame(np.arange(16).reshape(4,4),columns=["one","two","three","four"])

1).刪除指定列

df.drop(["one"],axis=1)

    1. >>>df.drop(columns=['B', 'C'])

另外,也可通過del df["one"]來實現刪除指定列,但該方法不推薦,因為這預設直接在源資料上做更改。

2).刪除指定行

df.drop([0],axis=0)

  1. >>> df.drop(index=[0])

以上如果需要在原資料上直接做更改,需設定引數inplace=True


————————————————
版權宣告:本文為CSDN博主「永遠在減肥永遠110的的小潘」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/p1306252/article/details/114890550