今天,咱們接着上次的數據轉換操做講解python
一般咱們使用replace來替換缺失值。 #!/usr/bin/python # -- coding: UTF-8 --dom
import pandas as pd import numpy as np data = pd.Series([1., -999., 2., -999., -1000, 3.]) print(data) print(data.replace(-999,np.nan))
結果以下:函數
若是你想要一次替代多個值,能夠傳入一個列表或替代值。google
print(data.replace([-999, -1000],np.nan))
也能夠對應替換:code
print(data.replace([-999, -1000],[np.nan,0])) # 參數也能夠經過字典傳遞 print(data.replace({-999:np.nan,-1000:0}))
連續值常常須要離散化,或分離成「箱子」進行分析。blog
舉例:對以下年齡進行分箱。排序
ages = [19, 20, 22, 25, 27, 21, 23, 27, 37, 31, 61, 45, 41, 32] bins = [18, 25, 35, 60, 100] cats = pd.cut(ages, bins) print(cats)
能夠經過labels選項傳遞一個列表來自定義箱名。ip
precision=2的選項將十進制精度限制在兩位。ci
使用qcut能夠得到等長的箱。字符串
np.sign(data)根據數據中的值的正負生成1和-1的數值。
下列表達式限制了-3
到3
的值:
data[np.abs(data) > 3 ] = np.sign(data) * 3
使用numpy.random.permutation對DataFrame中的Series或行進行置換(隨機重排序)。
sample方法能夠幫助你選出一個不含有替代值的隨機子集。
要生成一個帶有替代值的樣本,將replace=True傳入sample方法。
若是DataFrame中的一列有k個不一樣的值,則能夠衍生一個k列的值爲1和0的矩陣或DataFrame。get_dummies函數用於實現該功能。
split能夠用來分割字符串。
strip用來清除空格換行等。
字符串"::"的join方法可傳入一個列表或者元組
in用來檢測子字符串。
find和index也能夠檢測子字符串。
區別在於:
index在字符串沒找到時會拋出異常,而find會返回-1。
count返回的是某個特定字符串在字符串中出現的次數。
replace經常使用於一種模式替代另外一種模式。
ljust,rjust用於左對齊,右對齊。
data.str.contains('google')能夠用來檢測字符串是否含有google。