利用Python进行数据分析——数据规整:连接、联合与重塑(11)

本文介绍了如何利用Python进行数据分析,特别是数据规整中的连接、合并与重塑操作。通过分层索引、数据库风格的DataFrame连接和沿轴向连接等方式,结合实例展示了如何有效地整合和组合数据集。
摘要由CSDN通过智能技术生成

分层索引

In [1]: import numpy as np

In [2]: import pandas as pd

In [3]: data = pd.Series(np.random.randn(9),
   ...: index=[['a', 'a', 'a', 'b', 'b', 'c', 'c', 'd', 'd'],
   ...: [1,2,3,1,3,1,2,2,3]])

In [4]: data
Out[4]:
a  1    0.987523
   2   -0.028413
   3   -1.669237
b  1   -1.312015
   3   -0.407987
c  1   -0.213073
   2    0.005242
d  2    1.980589
   3   -0.919201
dtype: float64


In [5]: data.index
Out[5]:
MultiIndex(levels=[['a', 'b', 'c', 'd'], [1, 2, 3]],
           codes=[[0, 0, 0, 1, 1, 2, 2, 3, 3], [0, 1, 2, 0, 2, 0, 1, 1, 2]])

In [6]: data['b']
Out[6]:
1   -1.312015
3   -0.407987
dtype: float64

In [7]: data['b' : 'c']
Out[7]:
b  1   -1.312015
   3   -0.407987
c  1   -0.213073
   2    0.005242
dtype: float64

In [8]: data.loc[['b', 'd']]
Out[8]:
b  1   -1.312015
   3   -0.407987
d  2    1.980589
   3   -0.919201
dtype: float64

In [9]: data.loc[:, 2]
Out[9]:
a   -0.028413
c    0.005242
d    1.980589
dtype: float64

联合与合并数据集

  pandas.merge根据一个或多个键将行进行连接。对于SQL或其他关系型数据库的用户来说,这种方式比较熟悉,它实现的是数据库的连接操作。

  pandas.concat使对象在轴向上进行黏合或“堆叠”。

  combine_first实例方法允许将重叠的数据拼接在一起,以使用一个对象中的值填充另一个对象中的缺失值。

数据库风格的DataFrame连接

  pandas中的merge函数主要用于将各种join操作算法运用在你的数据上:

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

In [5]: df2 =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值