今天,咱们接着上次的数据转换操做讲解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。