首页 存档 技术 查看内容

Python数据清洗之数据合并、转换、过滤、排序

2018-3-30 13:00 |来自: 互联网 560 0

摘要: 来源:molearner www.cnblogs.com/wkslearner/p/5928888.html 数据清洗一直是数据分析中极为重要的一个环节。 数据合并 在pandas中可以通过merge对数据进行合并操作。 import numpy as np import pandas as pd ...

来源:molearner

www.cnblogs.com/wkslearner/p/5928888.html


数据清洗一直是数据分析中极为重要的一个环节。


数据合并


在pandas中可以通过merge对数据进行合并操作。


import numpy as np

import pandas as pd

data1 = pd.DataFrame({'level':['a','b','c','d'],

'numeber':[1,3,5,7]})

data2=pd.DataFrame({'level':['a','b','c','e'],

'numeber':[2,3,6,10]})

print(data1)


结果为:



print(data2)


结果为:



print(pd.merge(data1,data2))


结果为:



可以看到data1和data2中用于相同标签的字段显示,而其他字段则被舍弃,这相当于SQL中做inner join连接操作。


此外还有outer,ringt,left等连接方式,用关键词how的进行表示。


data3 = pd.DataFrame({'level1':['a','b','c','d'],

'numeber1':[1,3,5,7]})

data4=pd.DataFrame({'level2':['a','b','c','e'],

'numeber2':[2,3,6,10]})

print(pd.merge(data3,data4,left_on='level1',right_on='level2'))


结果为:



两个数据框中如果列名不同的情况下,我们可以通过指定letf_on 和right_on两个参数把数据连接在一起


print(pd.merge(data3,data4,left_on='level1',right_on='level2',how='left'))


结果为:



其他详细参数说明



重叠数据合并


有时候我们会遇到重叠数据需要进行合并处理,此时可以用comebine_first函数。


data3 = pd.DataFrame({'level':['a','b','c','d'],

'numeber1':[1,3,5,np.nan]})

data4=pd.DataFrame({'level':['a','b','c','e'],

'numeber2':[2,np.nan,6,10]})

print(data3.combine_first(data4))


结果为:



可以看到相同标签下的内容优先显示data3的内容,如果一个数据框中的某一个数据是缺失的,此时另外一个数据框中的元素就会补上

这里的用法类似于np.where(isnull(a),b,a)


数据重塑和轴向旋转


这个内容我们在上一篇pandas文章有提到过。数据重塑主要使用reshape函数,旋转主要使用unstack和stack两个函数。


data=pd.DataFrame(np.arange(12 声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除


路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部