《利用Python进行数据分析》第五章-pandas的数据结构介绍

pandas的数据结构介绍

要使用pandas,你首先就得熟悉它的两个主要数据结构:Series和DataFrame。虽然它们并不能解决所有问题,但它们为大多数应用提供了一种可靠的、易于使用的基础。

In [1]: from pandas import Series,DataFrame

In [2]: import pandas as pd

In [3]: import numpy as np
Series

Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。仅由一组数据即可产生最简单的Series。

In [4]: obj=Series([5,8,-6,2])

In [5]: obj
Out[5]: 
0 5
1 8
2 -6
3 2
dtype: int64

Series的字符串表现形式为:索引在左边,值在右边。由于我们没有为数据指定索引,于是会自动创建一个0到N1(N为数据的长度)的整数型索引。你可以通过Series 的values和index属性获取其数组表示形式和索引对象。

In [6]: obj.values
Out[6]: array([ 5, 8, -6, 2], dtype=int64)

In [7]: obj.index
Out[7]: RangeIndex(start=0, stop=4, step=1)

希望所创建的Series带有一个可以对各个数据点进行标记的索引

In [8]: obj2=Series([4,8,-6,3],index=['d','a','b','c'])

In [9]: obj2
Out[9]: 
d 4
a 8
b -6
c 3
dtype: int64

与普通NumPy数组相比,你可以通过索引的方式选取Series中的单个或一组值

In [10]: obj2['b']
Out[10]: -6

In [11]: obj2['d']=9

In [12]: obj2[['c','a','d']]
Out[12]: 
c 3
a 8
d 9
dtype: int64

NumPy数组运算(如根据布尔型数组进行过滤、标量乘法、应用数学函数等)都会保留索引和值之间的链接

In [13]: obj2
Out[13]: 
d 9
a 8
b -6
c 3
dtype: int64

In [14]: obj2[obj2>0]
Out[14]: 
d 9
a 8
c 3
dtype: int64

In [15]: obj2*3
Out[15]: 
d 27
a 24
b -18
c 9
dtype: int64

In [16]: np.exp(obj2)
Out[16]: 
d 8103.083928
a 2980.957987
b 0.002479
c 20.085537
dtype: float64

可以将Series看成是一个定长的有序字典,因为它是索引值到数据值的一个映射。它可以用在许多原本需要字典参数的函数中。

In [17]: 'b' in obj2
Out[17]: True

In [18]: 'k' in obj2
Out[18]: False

如果数据被存放在一个Python字典中,也可以直接通过这个字典来创建Series

In [19]: sdata = {
  'Ohio': 35000, 'Texas': 71000, 'Oregon': 16000, 'Utah': 5000}

In [20]: obj3=Series(sdata)

In [21]: obj3
Out[21]: 
Ohio 35000
Oregon 16000
Texas 71000
Utah 5000
dtype: int64

如果只传入一个字典,则结果Series中的索引就是原字典的键(有序排列)

In [22]: states = ['California', 'Ohio', 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值