基于python的pandas数据分析_基于 Python 和 Pandas 的数据分析(1)

本文介绍了如何使用Python的Pandas库进行基础数据分析,包括数据加载、DataFrame操作、时间序列分析,并演示了与Matplotlib的集成实现数据可视化。适合初学者快速上手并理解Pandas的强大功能。
摘要由CSDN通过智能技术生成

基于 Python 和 Pandas 的数据分析(1)

Pandas 是 Python 的一个模块(module), 我们将用 Python 完成接下来的数据分析的学习. Pandas 模块是一个高性能,高效率和高水平的数据分析库.

从本质上讲,它非常像操作电子表格的无头版本,如Excel. 我们所使用的大部分的数据集都可以被转换成 dataframes(数据框架). 你可能对这个术语比较熟悉了, 它被广泛地用于很多语言. 但是如果你不熟悉, 可以看下我的解释: 一个 dataframe 就很像是一个仅有行和列组成的电子表格. 现在开始, 我们可以使用 Pandas 以光速对数据集进行一系列的操作.

Pandas 也是可以与很多其他数据分析库兼容的, 比如用于机器学习的 Scikit-Learn, 用于图形绘制的 Matplotlib, NumPy 等. Pandas 的性能非常强大, 非常值得学习. 如果你在使用 excel 或者其他电子表格处理大量的计算任务, 那么通常需要1分钟或者1小时去完成某些工作, Pandas 将改变这一切.

另一个好消息, 你可以很容易地载入/输出 xls 或者 xlsx 格式的文件. 所以即使你的老板还是习惯以往的格式, 你也可以轻松应对. Pandas 还同时兼容很多文本文件, 如 csv, xml, html 等.

如果你是初次接触 Python 语言, 没有关系, 我相信你一样可以继续下面的课程, 而且这个教程甚至可以作为你 Python 的一个初步入门教程.

如果你还没有安装 Python, 直接去官网https://www.python.org/下载一个最新版本, 并安装.

这里我先假设你已经安装了 Python. 下一步, 打开终端执行

pip3 install pandas

pip3 install numpy

安装 Pyton 相关包的方式有很多, 通过 pip 是最简单的方式.

关于编辑器, 选择自己顺手的就行, 我用的是 visual Code.

下面就来通过一个简单的实操, 认识一下 dataframe.

首先, 做一些简单的引入:

import pandas as pd

import datetime

import pandas_datareader.data as web

这里, 我们使用了 "import pandas as pd". 这算是引入 Pandas 的通用用法. 接着, 我们引入 datetime, 我们会用这个包做一些关于时间的操作. 最后, 引入 "import pandas.io.data as web", 我们需要用这个从网上拉取数据.

start = datetime.datetime(2010, 1, 1)

end = datetime.datetime.now()

这里, 我们创建了 start 和 end 两个变量, 它们都是 datatime 的对象. 我们会拉取从2010年1月1日到今天的数据. 下面我们就来创建一个 dataframe:

df = web.DataReader("XOM", "yahoo", start, end)

这行代码实现了从 yahoo API 拉取 XOM 的数据, 并赋值给变量 df. 把存储dataframe 的变量命名为 df, 并不是强制的, 但是是一种通用的方式, 可以让人从命名快速识别出这是一个 dataframe 的变量, 而无需追踪代码.

所以现在我们就获得了一个 dataframe, 那么我们要如何查看它的内容呢? 对, 我们可以用 print() 函数:

print(df)

目前是要求打印所有的数据, 终端显示的时候会省略掉中间部分的数据, 但是即便这样, 数据量依然很大. 所以, 大家一般都习惯只输出前5行数据:

print(df.head())

输出:

High Low Open Close Volume Adj Close

Date

2009-12-31 68.860001 68.110001 68.839996 68.190002 18852300.0 51.152096

2010-01-04 69.260002 68.190002 68.720001 69.150002 27809100.0 51.872231

2010-01-05 69.449997 68.800003 69.190002 69.419998 30174700.0 52.074772

2010-01-06 70.599998 69.339996 69.449997 70.019997 35044700.0 52.524845

2010-01-07 70.059998 69.419998 69.900002 69.800003 27192100.0 52.359821

这样就输出了前5行数据, 这有助于 debug, 并且可以查看整体的数据结构.

以上就是我想带给大家的初步的入门介绍. 但是还有一件事: 数据可视化. 就像我前面提到的, Pandas 与很多其他的模块都有很好的兼容性, Matplotlib 就是其中一个. 大家可以在终端执行

pip3 install matplotlib

其实, 理论上装过 pandas, matplotlib 就应该已经自动安装了, 这里只是要大家再确认一下. 现在, 就可以在脚本的头部加上下面的代码:

import matplotlib.pyplot as plt

from matplotlib import style

style.use('fivethirtyeight')

Pyplot 是 matplotlib 基本的图形化模块. Style 帮助我们快速建立图表. 然后可以用 Style.use 来选择一种图形样式.

接下来, 我们可以这样做:

df['High'].plot()

plt.legend()

plt.show()

完整代码如下:

import pandas as pd

import datetime

from pandas_datareader import data as web

import matplotlib.pyplot as plt

from matplotlib import style

style.use('ggplot')

start = datetime.datetime(2010, 1, 1)

end = datetime.datetime(2015, 1, 1)

df = web.DataReader("XOM", "yahoo", start, end)

print(df.head())

df[['High']].plot()

plt.legend() #其实可以省略

plt.show()

很棒! 以上就是对 Pandas 一个简单快速的介绍. 在这个整个系列教程中, 我将会带到更多的Pandas 的基础知识, 还有一些对 dataframe 的操作. 还会接触到更多关于可视化图形, 数据的输入输出形式, 初中级的数据分析和操作, 合并与组合数据等.

后面会持续更新, 有任何问题或者错误, 欢迎留言, 希望和大家交流学习.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值