您的位置:首页 > 编程语言 > Python开发

利用python进行数据分析(五):数据规整化

2017-11-23 17:47 267 查看
首先

import pandas as pd


(1)连接pandas对象

pd.concat([s1,s2,s3])  #s1,s2,s3是pandas对象,默认axis=0
pd.concat([s1,s2,s3],axis=1)  #生成DataFrame
pd.concat([s1,s2,s3],axis=1,keys=['one','two','three'])  #添加列名
df1.combine_first(df2)          #组合两个DataFrame并合并重叠数据


(2)DataFrame移除重复数据

frame.drop_duplicate()          #消除重复数据,默认保存第一个值的组合。
frame.drop_duplicate([‘k1’])     #只根据某一列来消除重复数据
frame.drop_duplicate(take_last=True)        #消除重复数据,保存最后一个。


(3)pandas对象替换值

data.replace([-999,100],np.nan)    #将data中的-999,都替换为NaN


(4)字符串操作

s.split(‘,’)  #以逗号为间隔将字符串拆成字符串数组
s.strip()     #去掉字符串s中的空白符
[x.strip() for x in s.split(‘,’)]
‘g’ in s      #可以判断s中是否有'g'
s.index('g')  #返回'g' 的索引位置
s.find('g')   #返回'g' 的索引位置,没有的话返回-1
s.count('g')     #计算'g'  出现的次数


(5)正则表达式

pattern=r’[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}’  #一个可以识别大部分电子邮件的正则表达式
regex=re.compile(pattern,flags=re.IGNORECASE)   #这个flag的作用是让正则表达式对大小写不敏感。
regex.findall(text)                 #在字符串text中寻找所有的符合这种规范的字符串切片


(6)pandas中矢量化的字符串函数

data.str.contains(‘gmail’)         #检查pandas对象中每个元素是否包含’gmail‘字符串
data.str.get(1)                    #获取各元素里面的第1个元素。
data.str[:5]                       #获取各元素里面的前五个元素。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 数据分析