重复值处理:drop_duplicates()(去重distinct)
缺失值处理:方式1:数据补齐;2:删除对应缺失行,函数dropna();3:不处理。
空格值处理:strip()
字段抽取:slice(start,stop)
字段拆分:split(sep,n,expand=False),n为分割为几列,expand为是否展开为数据框,如果为True,返回数据框,否则返回Series。
记录抽取:dataframe[condition],condition是过滤条件,返回一个DataFrame。
随机抽样:numpy.random.randint(start,end,num),number抽样个数,返回值为行数的索引值序列。
记录合并:concat([dataFrame1,dataFrame2,...]),返回一个DataFrame。
字段合并:x = x1+x2+...;返回一个Series合并后的序列;例如:tel=df['运营商']+df['area']+df['num']
字段匹配:merge(x,y,left_on,right_on),x,y分别为第1,2个数据框,left_on为第一个数据框用于匹配的列,返回一个DataFrame。
数据标准化:x=(x-min)/(max-min),例如:scale=(df.score-df.score.min())/(df.score.max()-df.score.min())
数据分组:cut(series,bins,right=True,labels=NULL),series需要分组的数据,bins分组的划分数组,right分组的时候,右边是否闭合,labels分组的自定义标签。
例如:import pandas;
from pandas import read_csv;
df=read_csv("路径",sep='|');
bins=[min(df.列名1)-1,20,40,60,80,100,max(df.列名1)+1];
labels=['20以下','20到40',...];
pandas.cut(df.列名1,...)
日期转换:date=to_datetime(dateString,format);使用:from pandas import to_datetime
%Y:年份;%m:月份;%d:日期,%H:小时,%M:分钟,%S:秒。
日期格式化:apply(lambda x:datetime.strftime(x,format))
日期抽取:datetime列.dt.property,案例:df_time.time.second
second:1-60秒,从1开始,到60;minute,hour,day,month,year,weekday。