資料清洗和準備 Pandas

2022-08-17 22:39:14 字數 2274 閱讀 8614

pandas和內建的python標準庫提供了一組高階的、靈活的、 快速的工具,可以讓你輕鬆地將資料規整為想要的格式。

一些關於缺失資料處理的函式:

thresh引數,這個意思是脫穀/打穀,即讓種子和穀物的枝條分離。

isnull和notnull, 返回乙個bool物件。

data = pd.series([1, np.nan, 3.5, np.nan, 7])

data.dropna()

#返回的是去掉缺失值的物件。

0 1.0

2 3.5

4 7.0dtype: float64

#還可以使用

data[data.notnull()]

例子1:

#

使用字典dict,為不同的列填充不同的值

df.fillna()

例子2:

使用method和limit引數:

df = pd.dataframe(np.random.randn(6, 3))

df.iloc[2:, 1] =na

df.iloc[4:, 2] =na

...        0     

1     2

0 0.556356 0.081234 0.146193

1 1.278347 0.631483 3.188404

2 -2.243820 nan -0.376037

3 -1.616570 nan -0.739994

4 0.017522 nan nan

5 0.019936 nan nan

...

df.fillna(method="

ffill

", limit= 2)

0   

1     2

0 0.556356 0.081234 0.146193

1 1.278347 0.631483 3.188404

2 -2.243820 0.631483 -0.376037

3 -1.616570 0.631483 -0.739994

4 0.017522 nan -0.739994

5 0.019936 nan -0.739994

例子3:可以填充任意資料,比如填充均值:

df.fillna(data.mean())

過濾、清理以及其他的轉換工作

data.duplicated(), 如果是完全一樣的行,則是重複行,最返回乙個bool series。

data.drop_duplicates(), 去除完全一樣的行的第一行, 返回乙個新的物件。

用map函式進行元素級別的替換。

乙個食物和其重量的2維表:

data = pd.dataframe()

增加一列animal,表示食物取自那種動物。

首先:乙個dict對映。key是食物,values是動物名字。

meat_to_animal =

map方法接受乙個函式/對映進行資料替換:

1:使用字典對映:

#

把大些字母變為小些字母

lowercased = data['

food

'].str.lower()

#使用map替換資料,並為data新增一列,並儲存替換的值:

data['

animal

'] = lowercased.map(meat_to_animal)

2:或者使用函式lambda

data['

animals

'] = data['

food

'].map(lambda x : meat_to_animal[x.lower])

fillna()是把nan,替換為指定的值,一種特殊的替換。

而data.replace(from, to), 可以把任意數量的值進行任意的替換。⚠️:

python能夠成為流行的資料處理語言,部分原因是其簡單易用的字串和文字處理功能:

字串物件方法

正規表示式

pandas的向量化字串函式

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...

Pandas的資料清洗

如果一列中含有多個型別,則該列的型別會是object,同樣字串型別的列也會被當成object型別.提取需要的2列資料 data statistic key data statistic time key 刪除空資料的行 data statistic key data statistic key.dr...