学习Python大数据处理模块Pandas

适合初学入门

第一课 构造数据

本节基本了解Pandas里的一些数据结构和模块的基本使用,初步了解Pandas的提供的一些功能,学会基本使用。

创建数据

通过Python的zip构造出一元组组成的列表作为DataFrame的输入数据rec。


In [3]: import pandas as pd
In [4]: import random
In [5]: num = random.sample(xrange(10000, 1000000), 5)
In [6]: num
Out[6]: [244937, 132008, 278446, 613409, 799201]
In [8]: names = "hello the cruel world en".split()
In [9]: names
Out[9]: [‘hello‘, ‘the‘, ‘cruel‘, ‘world‘, ‘en‘]
In [10]: rec = zip(names, num)
In [15]: data = pd.DataFrame(rec, columns = [u"姓名",u"业绩" ])
In [16]: data
Out[16]:
     姓名  业绩
0    hello   244937
1    the     132008
2    cruel   278446
3    world   613409
4    en      799201

DataFrame方法函数的第一个参数是数据源,第二个参数columns是输出数据表的表头,或者说是表格的字段名。

导出数据csv

Windows平台上的编码问题,我们可以先做个简单处理,是ipython-notebook支持utf8.

import sys
reload(sys)
sys.setdefaultencoding("utf8")

接下来可以数据导出了。

In [31]: data
Out[31]:
     姓名  业绩
0    hello   244937
1    the     132008
2    cruel   278446
3    world   613409
4    en      799201
#在ipython-note里后加问号可查帮助,q退出帮助
In [32]: data.to_csv?
In [33]: data.to_csv("c:\\out.csv", index = True, header = [u"雇员", u"销售业绩"])

将data导出到out.csv文件里,index参数是指是否有主索引,header如果不指定则是以data里columns为头,如果指定则是以后边列表里的字符串为表头,但要注意的是header后的字符串列表的个数要和data里的columns字段个数相同。

可到c盘用Notepad++打开out.csv看看。

简单的数据分析

In [43]: data
Out[43]:
     姓名  业绩
0    hello   244937
1    the     132008
2    cruel   278446
3    world   613409
4    en      799201
#排序并取前三名
In [46]: Sorted = data.sort([u"业绩"], ascending=False)
         Sorted.head(3)
Out[46]:
     姓名  业绩
4    en      799201
3    world   613409
2    cruel   278446

图形输出

In [71]: import matplotlib.pyplot as plt
         #使ipython-notebook支持matplotlib绘图
         %matplotlib inline
In [74]: df = data
         #绘图
         df[u"业绩"].plot()
         MaxValue = df[u"业绩"].max()
         MaxName = df[u"姓名"][df[u"业绩"] == df[u"业绩"].max()].values
         Text = str(MaxValue) + " - " + MaxName
         #给图添加文本标注
         plt.annotate(Text, xy=(1, MaxValue), xytext=(8, 0), xycoords=(‘axes fraction‘, ‘data‘), textcoords=‘offset points‘)

如果注释掉plt.annotate这行,结果如下所示:

时间: 2024-08-10 17:37:49

学习Python大数据处理模块Pandas的相关文章

Python大数据处理模块Pandas

Python大数据处理模块Pandas [这篇转载自CSDNchengxuyuanyonghu的博客:http://blog.csdn.net/chengxuyuanyonghu/article/details/54956207] 目录 读取数据 索引 选择数据 简单运算 import pandas as pd read_csv to_csv 数据框操作 一            创建对象 二            查看数据 三            选择 四            缺失值处理

学Python大数据处理用Anaconda

anaconda内部集成ipython.scipy和numpy基本都齐了,很好用! 下载地址  http://pan.baidu.com/s/1o6OEPIi python大数据处理模块pandas由scipy和numpy组成,这核心模块都在anaconda里预装了

python 数据分析--数据处理工具Pandas(1)

说明: 本文用到的数据集下载地址: 链接:https://pan.baidu.com/s/1zSOypUVoYlGcs-z2pT2t0w 提取码:z95a Pands模块可以帮助数据分析师轻松地解决数据的预处理问题,如数据类型的转换.缺失值的处理.描述性统计分析.数据的汇总等.Pandas模块的核心操作对象就是序列(Series)和数据框(DataFrame).序列可以理解为数据集中的一个字段,数据框是指含有至少两个字段(或序列)的数据集. 1. 序列和数据框的构造 1.1 构造序列 构造一个序

python 数据分析--数据处理工具Pandas(2)

在前面的学习中主要了解了Pandas如何构造序列和数据框,如何读取和写入各种格式的数据,以及如何对数据进行初步描述,本文将进一步了解Pandas如何处理字符串和日期数据,数据清洗,获取数据子集,透视表,分组聚合操作等内容. 4. Pandas处理字符串和日期数据 待处理的数据表 数据处理要求: 更改出生日期birthday和手机号tel两个字段的数据类型. 根据出生日期birthday和开始工作日期start_work两个字段新增年龄和工龄两个字段. 将手机号tel的中间四位隐藏起来. 根据邮箱

学习Python的urllib模块

 urllib 模块作为Python 3 处理 URL 的组件集合,如果你有 Python 2 的知识,那么你就会注意到 Python 2 中有 urllib 和 urllib2 两个版本的模块,这些现在都是 Python 3 的 urllib 包的一部分,具体如何来体现它们之间的关系 Python 3 的 urllib 模块是一堆可以处理 URL 的组件集合.如果你有 Python 2 的知识,那么你就会注意到 Python 2 中有 urllib 和 urllib2 两个版本的模块.这些现在

Python大数据处理案例

分享 知识要点:lubridate包拆解时间 | POSIXlt利用决策树分类,利用随机森林预测利用对数进行fit,和exp函数还原 训练集来自Kaggle华盛顿自行车共享计划中的自行车租赁数据,分析共享自行车与天气.时间等关系.数据集共11个变量,10000多行数据.https://www.kaggle.com/c/bike-sharing-demand 首先看一下官方给出的数据,一共两个表格,都是2011-2012年的数据,区别是Test文件是每个月的日期都是全的,但是没有注册用户和随意用户

快速学习 Python 数据分析包 之 pandas

最近在看时间序列分析的一些东西,中间普遍用到一个叫pandas的包,因此单独拿出时间来进行学习. 参见 pandas 官方文档 http://pandas.pydata.org/pandas-docs/stable/index.html 以及相关博客 http://www.cnblogs.com/chaosimple/p/4153083.html Pandas介绍 Pandas是python的一个数据分析包,最初由AQR Capital Management于2008年4月开发,并于2009年底

学习Python的ABC模块(转)

http://yansu.org/2013/06/09/learn-Python-abc-module.html 1.abc模块作用 Python本身不提供抽象类和接口机制,要想实现抽象类,可以借助abc模块.ABC是Abstract Base Class的缩写. 2.模块中的类和函数 abc.ABCMeta 这是用来生成抽象基础类的元类.由它生成的类可以被直接继承. from abc import ABCMeta class MyABC: __metaclass__ = ABCMeta MyA

学习Python基础--------5模块

主要内容 模块介绍 time和datetime模块 random os sys shutil json和picle shelve xml处理 hashlib re正则表达式 模块介绍1.定义 模块:用来从逻辑上组织python(变量,函数,类,逻辑,实现一个功能), 本质就是.py结尾的python文件(文件名test.py模块名test) 包:用来从逻辑上来组织模块的,本质就是一个目录(必须带有以个__init__.py文件) 2.导入方法 from . import test1 #从当前目录