Python数据科学 专题
您的位置:python > Python数据科学专题 > Python数据噪音
Python数据噪音
作者:--    发布时间:2019-11-20

数据处理涉及以各种格式处理数据,例如合并,分组,连接等,以便分析或准备将其与另一组数据一起使用。 python具有内置函数功能,可将这些争议方法应用于各种数据集以实现分析目标。 在本章中,我们将看几个基于这些方法的例子。

 合并数据

python中的pandas库提供了一个函数merge,作为dataframe对象之间所有标准数据库连接操作的入口 -

pd.merge(left, right, how='inner', on=none, left_on=none, right_on=none,
left_index=false, right_index=false, sort=true)

现在创建两个不同的dataframe并对其执行合并操作。

# import the pandas library
import pandas as pd
left = pd.dataframe({
         'id':[1,2,3,4,5],
         'name': ['alex', 'amy', 'allen', 'alice', 'ayoung'],
         'subject_id':['sub1','sub2','sub4','sub6','sub5']})
right = pd.dataframe(
         {'id':[1,2,3,4,5],
         'name': ['billy', 'brian', 'bran', 'bryce', 'betty'],
         'subject_id':['sub2','sub4','sub3','sub6','sub5']})
print (left)
print (right)

执行上面示例代码,得到以下结果 -

    name  id   subject_id
0   alex   1         sub1
1    amy   2         sub2
2  allen   3         sub4
3  alice   4         sub6
4  ayoung  5         sub5

    name  id   subject_id
0  billy   1         sub2
1  brian   2         sub4
2  bran    3         sub3
3  bryce   4         sub6
4  betty   5         sub5

分组数据

数据分析中经常需要对数据集进行分组,因为我们需要根据数据集中存在的各个组的结果进行分析。 panadas具有内置的方法,可以将数据转换为各种分组。

在下面的示例中,我们按年分组数据,然后获得特定年份的结果。

# import the pandas library
import pandas as pd

ipl_data = {'team': ['riders', 'riders', 'devils', 'devils', 'kings',
         'kings', 'kings', 'kings', 'riders', 'royals', 'royals', 'riders'],
         'rank': [1, 2, 2, 3, 3,4 ,1 ,1,2 , 4,1,2],
         'year': [2014,2015,2014,2015,2014,2015,2016,2017,2016,2014,2015,2017],
         'points':[876,789,863,673,741,812,756,788,694,701,804,690]}
df = pd.dataframe(ipl_data)

grouped = df.groupby('year')
print (grouped.get_group(2014))

执行上面示例代码,得到以下结果 -

   points  rank     team    year
0     876     1   riders    2014
2     863     2   devils    2014
4     741     3   kings     2014
9     701     4   royals    2014

连接数据

pandas提供了各种功能,可以轻松地将seriesdataframepanel对象组合在一起。 在下面的例子中,concat函数沿轴执行串联操作。创建不同的对象并进行连接。

import pandas as pd
one = pd.dataframe({
         'name': ['alex', 'amy', 'allen', 'alice', 'ayoung'],
         'subject_id':['sub1','sub2','sub4','sub6','sub5'],
         'marks_scored':[98,90,87,69,78]},
         index=[1,2,3,4,5])
two = pd.dataframe({
         'name': ['billy', 'brian', 'bran', 'bryce', 'betty'],
         'subject_id':['sub2','sub4','sub3','sub6','sub5'],
         'marks_scored':[89,80,79,97,88]},
         index=[1,2,3,4,5])
print (pd.concat([one,two]))

执行上面示例代码,得到以下结果 -

    marks_scored     name   subject_id
1             98     alex         sub1
2             90      amy         sub2
3             87    allen         sub4
4             69    alice         sub6
5             78   ayoung         sub5
1             89    billy         sub2
2             80    brian         sub4
3             79     bran         sub3
4             97    bryce         sub6
5             88    betty         sub5

网站声明:
本站部分内容来自网络,如您发现本站内容
侵害到您的利益,请联系本站管理员处理。
联系站长
373515719@qq.com
关于本站:
编程参考手册