首页 > 技术文章 > Python学习总结 05 pandas

wangshuo1 2017-01-07 19:43 原文

   pandas官方网址 : http://pandas.pydata.org/ 。

       pandas的安装比较复杂,如果想开箱即用,可以考虑下载WinPython。WinPython的官方地址是: http://winpython.github.io/ 。

   pandas 是基于 Numpy 构建的含有更高级数据结构和工具的数据分析包,类似于 Numpy 的核心是 ndarray,pandas 也是围绕着 Series 和 DataFrame 两个核心数据结构展开的 。Series 和 DataFrame 分别对应于一维的序列和二维的表结构。pandas 约定俗成的导入方法如下:

from pandas import Series,DataFrame
import pandas as pd

一 开发工具

jupyter notebook是升级版的IPython,可以把代码、运行结果保存在一个notebook中。
1 使用pip命令安装.jupyter notebook
$ pip install jupyter
如果没有安装报Read Timeout异常,是因为Python默认使用的是https://pypi.python.org/pypi这里的python库,通常从国内连接国外的服务器是导致超时的原因,可以设置成国内的pypi镜像站点。k
比如豆瓣, https://pypi.douban.com/simple , 然后在命令行中添加 -i,pypi镜像参数。可以使用如下命令从豆瓣下载最新的python第三方库, 如果安装jupyter模块失败,可以先删除掉以安装的jupyter模块,在重新安装。
$ pip uninstall jupyter
$ pip install jupyter -i https://pypi.douban.com/simple
2 运行 jupyter notebook
在控制台输入以下命令,运行jupyter notebook.
$ jupyter notebook
然后浏览器会自动运行,打开一个新的网页,说明jupyter notebook运行成功了。
图-jupyter notebook
3,新建python文件
在jupyer右上角New 下拉框中选择当前Python环境的解释器,在笔者的机器是Python3,选中后会弹出一个新的网页。
在网格(cell)中,输入python代码,然后输入 ctrl + Enter执行python脚本。如下图所示。
图-jupyter运行python脚本
 
jupyter的常用快捷键
  • 执行当前cell,并自动跳到下一个cell:Shift Enter
  • 执行当前cell,执行后不自动调转到下一个cell:Ctrl-Enter
  • 是当前的cell进入编辑模式:Enter
  • 退出当前cell的编辑模式:Esc
  • 删除当前的cell:双D

二 Pandas的数据结构

  Pandas中有2种主要的数据结构: Series和DataFrame,它们为大多数应用提供了一种可靠的,易于使用的基础。

 

三  Pandas操作文件

1 读取文件到pandas

import pandas as pd
users= pd.read_table('e:/movieusers.txt' )
print( users)

  返回结果:

          1|24|M|technician|85711
0              2|53|F|other|94043
1             3|23|M|writer|32067
2         4|24|M|technician|43537

2 读取文件,或略分隔符。

from pandas import Series,DataFrame
import pandas as pd

users= pd.read_table('e:/movieusers.txt' , sep='|'  )
print( users)

  返回结果:

       1  24  M     technician  85711
0      2  53  F          other  94043
1      3  23  M         writer  32067
2      4  24  M     technician  43537

3 读取文件,或略表头

from pandas import Series,DataFrame
import pandas as pd

user_cols=['user_id' , 'age', 'gender' , 'occupation' , 'zip_code'      ]
users= pd.read_table('e:/movieusers.txt' , sep='|' , header=None , names=user_cols ) print( users)

  返回结果:

     user_id  age gender     occupation zip_code
0          1   24      M     technician    85711
1          2   53      F          other    94043
2          3   23      M         writer    32067

 

三 pandas写入csv文件

import pandas as pd
a = ['one','two','three']
b = [1,2,3]
english_column = pd.Series(a, name='english')
number_column = pd.Series(b, name='number')
predictions = pd.concat([english_column, number_column], axis=1)
#another way to handle
save = pd.DataFrame({'english':a,'number':b})
save.to_csv('b.txt',index=False,sep='')

 

 

 

 

参考资料:

http://www.cnblogs.com/chaosimple/p/4153083.html

http://www.open-open.com/lib/view/open1402477162868.html

 

推荐阅读