《利用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(第五部分-数据规整:聚合合并和重塑)