《利用Python 进行数据分析》 - 笔记

Posted PeersLee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《利用Python 进行数据分析》 - 笔记相关的知识,希望对你有一定的参考价值。

问题导读:

1.合并数据集

2.重塑和轴向旋转

3.数据转换(待续)


解决方案:


合并数据集


(1)数据库风格的DataFrame合并

  • pandas的merge 函数 将通过一个或多个键将行连接起来
  • 如果没有指定列,merge 就会直接依据相同列名的那一列进行连接
In [3]: df1 = pd.DataFrame(
   ...: {'key':['b','b','a','c','a','a','b'],
   ...: 'data1':range(7)}
   ...: )

In [4]: df1
Out[4]: 
   data1 key
0      0   b
1      1   b
2      2   a
3      3   c
4      4   a
5      5   a
6      6   b

[7 rows x 2 columns]

In [5]: df2 = pd.DataFrame(
   ...: {'key':['a','b','d'],
   ...: 'data2':range(3)}
   ...: )

In [6]: df2
Out[6]: 
   data2 key
0      0   a
1      1   b
2      2   d

[3 rows x 2 columns]

In [7]: pd.merge(df1,df2)
Out[7]: 
   data1 key  data2
0      0   b      1
1      1   b      1
2      6   b      1
3      2   a      0
4      4   a      0
5      5   a      0

[6 rows x 3 columns]

In [8]: pd.merge(df1,df2, on='key')
Out[8]: 
   data1 key  data2
0      0   b      1
1      1   b      1
2      6   b      1
3      2   a      0
4      4   a      0
5      5   a      0

[6 rows x 3 columns]

  • 如果两个对象的列名不同,也可以在指定之后,进行合并
In [10]: df3 = pd.DataFrame({'lkey':['b','b','a','c','a','a','b'],
   ....: 'data1':range(7)})

In [11]: df4 = pd.DataFrame({'rkey':['a','b','d'],'data2':range(3)})

In [12]: pd.merge(df3,df4,left_on='lkey',right_on='rkey')
Out[12]: 
   data1 lkey  data2 rkey
0      0    b      1    b
1      1    b      1    b
2      6    b      1    b
3      2    a      0    a
4      4    a      0    a
5      5    a      0    a

[6 rows x 4 columns]

以上是关于《利用Python 进行数据分析》 - 笔记的主要内容,如果未能解决你的问题,请参考以下文章

利用Python进行数据分析-Pandas(第五部分-数据规整:聚合合并和重塑)

利用Python进行数据分析---数据规整化

利用Python进行数据分析笔记:3.1数据结构

《利用Python 进行数据分析》 - 笔记

《利用python进行数据分析》读书笔记 --第二章 准备与例子

如何利用 Python 批量合并 Excel?