数据分析(四)--pandas入门

Pandas入门

在安装 Pandas 之前,确保你的操作系统中有 NumPy。如果你是从源代码直接编译,那么还需要相应的工具编译建立 Pandas 所需的 C 语言与 Cython 代码。如果你按照我的建议使用了 Anaconda,那么 Pandas 就已经安装好了。

和之前导入 NumPy 并使用别名 np 一样,我们将导入 Pandas 并使用别名 pd:

In[1]: import numpy as np
    import pandas as pd

1. Pandas对象简介

如果从底层视角观察 Pandas 对象,可以把它们看成增强版的 NumPy 结构化数组,行列都不再只是简单的整数索引,还可以带上标签。 Pandas 的三个基本数据结构: Series、 DataFrame 和 Index。

1.1 Pandas的 Series对象

Pandas 的 Series 对象是一个带索引数据构成的一维数组。可以用一个数组创建 Series 对象:

In[2]: data = pd.Series([0.25, 0.5, 0.75, 1.0])
    data

Out[2]: 0 0.25
        1 0.50
        2 0.75
        3 1.00
        dtype: float64

从上面的结果中,你会发现 Series 对象将一组数据和一组索引绑定在一起,我们可以通过values 属性和 index 属性获取数据。 values 属性返回的结果与 NumPy 数组类似:

In[3]: data.values

Out[3]: array([ 0.25, 0.5 , 0.75, 1. ])

# index 属性返回的结果是一个类型为 pd.Index 的类数组对象
In[4]: data.index

Out[4]: RangeIndex(start=0, stop=4, step=1)

# 和 NumPy 数组一样,数据可以通过 Python 的中括号索引标签获取:
In[5]: data[1]

Out[5]: 0.5

In[6]: data[1:3]

Out[6]: 1 0.50
        2 0.75
        dtype: float64

但是我们将会看到, Pandas 的 Series 对象比它模仿的一维NumPy数组更加通用、灵活。

1.1.1 Serise是通用的NumPy数组

NumPy 数组通过隐式定义的整数索引获取数值,而 Pandas 的Series 对象用一种显式定义的索引与数值关联。显式索引的定义让 Series 对象拥有了更强的能力。

索引不再仅仅是整数,还可以是任意想要的类型。如果需要,完全可以用字符串定义索引:

In[7]: data = pd.Series([0.25, 0.5, 0.75, 1.0],
    index=['a', 'b', 'c', 'd'])
    data

Out[7]: a 0.25
        b 0.50
        c 0.75
        d 1.00
        dtype: float64

获取数值的方式与之前一样:

In[8]: data['b']

Out[8]: 0.5

# 也可以使用不连续或不按顺序的索引:
In[9]: data = pd.Series([0.25, 0.5, 0.75, 1.0],
    index=[2, 5, 3, 7])
    data

Out[9]: 2 0.25
        5 0.50
        3 0.75
        7 
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值