Python第二弹:数据处理

重复值处理: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。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值