专栏首页用户2442861的专栏学习Python大数据处理模块Pandas

学习Python大数据处理模块Pandas

http://blog.csdn.net/jeapeducom/article/details/43670067

适合初学入门

第一课 构造数据

本节基本了解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这行,结果如下所示:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Spring MVC简介

    http://www.cnblogs.com/wawlian/archive/2012/11/17/2775435.html

    bear_fish
  • kafka 工作原理介绍

    消息队列技术是分布式应用间交换信息的一种技术。消息队列可驻留在内存或磁盘上, 队列存储消息直到它们被应用程序读走。通过消息队列,应用程序可独立地执行--它们不...

    bear_fish
  • python scrapy多进程新闻爬虫

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/d...

    bear_fish
  • Windows 与 Linux 安装 sqlite3 数据库(图文详解)

    白墨石
  • 文本挖掘:手把手教你分析携程网评论数据

    作者:飘雪 http://www.itongji.cn/cms/article/articledetails?articleid=1114 中文文本挖掘包tm...

    机器学习AI算法工程
  • Python可变对象和不可变对象

    Python中一切皆对象,每个对象都有其唯一的id,对应的类型和值,其中id指的是对象在内存中的位置。根据对象的值是否可修改分为可变对象和不可变对象。其中,

    oYabea
  • 人脸生成黑科技:使用VAE网络实现人脸生成

    上一节我们描述了VAE网络的数学原理,特别强调了它能把输入数据隐射到一个区域内,这种特性带来一个特点是,如果将两个不同数据输入网络得到两个区间,这两个区间要是有...

    望月从良
  • 爬虫潜伏在你身边

    随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。一开始,互联网还没有搜索。在搜索引擎被开发出来之前,互联网只是文件...

    机器思维研究院
  • xarry | 快速入门

    xarray (之前的 xray) 是一个开源的python库。通过提供 pandas 的核心数据结构N维变形功能,从而将 pandas 的标签数据功能应用到物...

    bugsuse
  • 【观点】杜汶泽电影应该被抵制吗?大数据告诉你文化商业逻辑

    近日,据报道,香港演员杜汶泽对内地网民开炮,称内地网民“自以为是”,“兜里的钱只够上个网”,遭到网民和部分内地影视公司高层抵制。 最近,《人间小团圆》即将上映,...

    小莹莹

扫码关注云+社区

领取腾讯云代金券