替换
可以使用replace将pandas对象中的指定值替换为别的值
import pandas as pd
import numpy as np
df = pd.DataFrame({0:[5,7,1,5],1:[2,9,7,2],2:[5,8,4,4]})
df.replace({4:[np.nan],5:['as']}) #将4和5 分别替换为 nan和as
重命名轴索引
使用rename方法修改索引
df.rename(index={'OHIO': 'INDIANA'}, columns={'three': 'peekaboo'})
#inplace=True #在rename加此函数 可以改变原始数据
df
离散化和分箱
import pandas as pd
bins = [18,25,35,60,100]
ages = [20, 22, 25, 27, 21, 23, 37, 31, 61, 45, 41, 32]
group_names = ['Youth', 'YoungAdult', 'MiddleAged', 'Senior']
cats = pd.cut(ages, bins, labels=group_names)
cats
bins:分箱的区间 分箱的区间通常是左开右闭的 例:(18-25])
ages:原始数据
group_names:分箱区间命名
cats:分箱函数
随机和抽样
我们需要打乱原有的数据顺序,让数据看起来像现实中比较混沌、自然的样子。这里推荐一个permutation操作,它来自numpy.random 可以随机生成一个序列
order = np.random.permutation(5) #随机生成5个数 范围在0-4(根据你输入的数字)
处理df,让行的顺序变成随机排序
df.take(order)
对df进行随机抽样
df.sample(n=3) #抽取3行数据 超过原始数据的行数会报错
df.sample(n=10,replace=True) #replace=True:可以重复抽取 这样可以超过总行数 但是会有重复值
字符串操作 基于 Series
1.创建一个 Series 数据集
import pandas as pd
import numpy as np
dic= {'one':'feixue', 'two':np.nan, 'three':'tom', 'five':'jerry@film'}
s = pd.Series(dic)
2.使用 Series的函数 改变字符串
s.str.upper() #变为大写 自动跳过 nan 空值
3.其他 Series的函数
cat :粘合字符串
contains:是否包含的判断
count:计数
extract:返回匹配的字符串组
endswith:以xx结尾判断
startswith:以xx开始判断
findall:查找
get:获取
isalnum:类型判断
isalpha:类型判断
isdecimal:类型判断
isdigit:类型判断
islower:是否小写
isnumeric:类型判断
isupper:是否大写
join:连接
len:长度
lower:小写
upper:大写
match:匹配
pad:将空白加到字符串的左边、右边或者两边
center:居中
repeat:重复
replace:替换
slice:切片
split:分割
strip:脱除
lstrip:左脱除
rstrip:右脱除