Pandas是基于Python的高性能数据分析工具,非常容易上手。
Pandas安装
推荐使用Conda安装(尤其是在Windows下)
- 使用Conda安装:
- 安装anaconda
- 进入anaconda命令行,conda create -n py27 python=2.7
conda install pandas
- 使用PIP安装:
- 安装pip,如果是Ubuntu,可以用
sudo apt-get install python-pip
安装 sudo pip install pandas
- 安装pip,如果是Ubuntu,可以用
Pandas示例
这里演示用Pandas处理一个简单的CSV文件。
文件下载地址:bikes.csv
文件的前几行如下:
Date;Berri 1;Brébeuf (données non disponibles);Côte-Sainte-Catherine;Maisonneuve 1;Maisonneuve 2;du Parc;Pierre-Dupuy;Rachel1;St-Urbain (données non disponibles)
01/01/2012;35;;0;38;51;26;10;16;
02/01/2012;83;;1;68;153;53;6;43;
03/01/2012;135;;2;104;248;89;3;58;
04/01/2012;144;;1;116;318;111;8;61;
05/01/2012;197;;2;124;330;97;13;95;
06/01/2012;146;;0;98;244;86;4;75;
07/01/2012;98;;2;80;108;53;6;54;
08/01/2012;95;;1;62;98;64;11;63;
代码:
#coding=utf-8
import pandas as pd
pd.set_option('display.mpl_style', 'default') # 设置风格
import requests
import codecs
csv_text = requests.get("https://raw.githubusercontent.com/jvns/pandas-cookbook/master/data/bikes.csv").text # 下载CSV文件
with codecs.open("bikes.csv", "w", "utf-8") as f:
f.write(csv_text)
df = pd.read_csv('bikes.csv', sep=';', encoding='latin1', parse_dates=['Date'], dayfirst=True, index_col='Date')
df[:3] # 获取前三行数据,在Python代码中需要加上print来显示
Berri 1 | Br�beuf (donn�es non disponibles) | C�te-Sainte-Catherine | Maisonneuve 1 | Maisonneuve 2 | du Parc | Pierre-Dupuy | Rachel1 | St-Urbain (donn�es non disponibles) | |
---|---|---|---|---|---|---|---|---|---|
Date | |||||||||
2012-01-01 | 35 | NaN | 0 | 38 | 51 | 26 | 10 | 16 | NaN |
2012-01-02 | 83 | NaN | 1 | 68 | 153 | 53 | 6 | 43 | NaN |
2012-01-03 | 135 | NaN | 2 | 104 | 248 | 89 | 3 | 58 | NaN |
df['Berri 1'] # 根据列名获取一列数据
Date
2012-01-01 35
2012-01-02 83
2012-01-03 135
2012-01-04 144
2012-01-05 197
2012-01-06 146
2012-01-07 98
2012-01-08 95
2012-01-09 244
2012-01-10 397
2012-01-11 273
2012-01-12 157
2012-01-13 75
2012-01-14 32
2012-01-15 54
2012-01-16 168
2012-01-17 155
2012-01-18 139
2012-01-19 191
2012-01-20 161
2012-01-21 53
2012-01-22 71
2012-01-23 210
2012-01-24 299
2012-01-25 334
2012-01-26 306
2012-01-27 91
2012-01-28 80
2012-01-29 87
2012-01-30 219
...
2012-10-07 1580
2012-10-08 1854
2012-10-09 4787
2012-10-10 3115
2012-10-11 3746
2012-10-12 3169
2012-10-13 1783
2012-10-14 587
2012-10-15 3292
2012-10-16 3739
2012-10-17 4098
2012-10-18 4671
2012-10-19 1313
2012-10-20 2011
2012-10-21 1277
2012-10-22 3650
2012-10-23 4177
2012-10-24 3744
2012-10-25 3735
2012-10-26 4290
2012-10-27 1857
2012-10-28 1310
2012-10-29 2919
2012-10-30 2887
2012-10-31 2634
2012-11-01 2405
2012-11-02 1582
2012-11-03 844
2012-11-04 966
2012-11-05 2247
Name: Berri 1, Length: 310, dtype: int64
df['Berri 1'].plot() # 绘制一列的统计图
可加QQ群426491390讨论机器学习、数据挖掘等相关知识。