最近工作中用到了python进行数据分析,基本上是绕不开Python的Pandas和NumPy模块。
1. NumPy:http://www.numpy.org
关于Numpy的发音,维基百科上可以读作/ˈnʌmpai/(NUM-py) 或是/ˈnʌmpi/(NUM-pee)。
最早的NumPy版本可以追溯到:v0.9.6,发布于:05/14/2006。
在2005年,NumPy的开发者Travis Oliphant想要统一社区里的array的包和Numarray关于数字型的特点,所以就有了NumPy库,正式的1.0版本发布于10/25/2006。
目前最新版本是v1.14.4,发布于06/06/2018。
在线文档(quickstart):
https://docs.scipy.org/doc/numpy/user/quickstart.html
2. Pandas: http://pandas.pydata.org
Pandas是基于Numpy构建的,让以NumPy为中心的应用变得更加简单。
比较早的版本是0.12.0,发布于01/31/2014。
目前最新版本是v0.23.0,发布于05/16/2018
在线文档(quickstart):
http://pandas.pydata.org/pandas-docs/stable/
3. 三种主要数据结构
NumPy: 最重要的数据结构是
ndarray,是一个通用的同构数据多维容器。
Pandas: 两大数据结构:Series和DataFrame
Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一组与之 相关的数据标签(即 索引)组成。
DataFrame是一个
表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型。
4. DataFrame的优点
- Pandas的DataFrame是表格型数据,可读性很强。
- ndarray理论上所有的元素必须是相同类型的(由dtype字段说明类型),而DataFrame每列的数据可以不是同种类型。
- 更强大的类库,比如更容易将数据group by, join等。
- 强大的io支持,从csv或是db中读取非常方便(使用方法read_csv或read_sql)。
5. DataFrame的一些示例
Python version: 3.6.5
IDE: PyCharm
5.1 从数据库读取数据
import pandas as pd
from sqlalchemy import create_engine
def testReadSql(self):
engine = create_engine('mysql://username:pwd@localhost:3306/schema?charset=utf8')
sql = 'SELECT * FROM user'
df = pd.read_sql(sql, engine)
print(df)
userid name
0 1 Lucy
1 2 Allen
3 3 Lily
5.2 按列设值、重命名列、按列取值
def testCreate(self):
df = pd.DataFrame();
df['id'] = [1,2,3]
df['name'] = ['Lucy', 'Allen', 'Lily']
print(df)
df.columns.values[1] = 'english name'
print(df)
print(df.id)
print(df.get('id'))
5.3 DataFrame的merge, join和concatenate
详见:
http://pandas.pydata.org/pandas-docs/stable/merging.html
def testMerge(self):
x = pd.DataFrame();
x['name'] = ['Lucy', 'Andy', 'Lily', 'Jack', 'Allen']
x['English'] = [90, 70, 60, 78, 88]
#print(x)
y = pd.DataFrame();
y['name'] = ['Andy', 'Jack', 'Rose']
y['Chinese'] = [71, 72, 73]
#print(y)
score = pd.merge(x, y, on='name', how='left', validate='one_to_one')
print(score)
5.4 填充缺失值
ffill():用上一个数据代替NaN
bfill():用后一个数据代替NaN
上接代码:
print(score.ffill())
print(score.bfill())
5.5 效率问题
最好少用或不用按行循环,因为效率很低很低。
6. 数据分析方面其它的库
- matplotlib:绘制数据图表
- IPython
- SciPy:用这个模块加载、存储过matlab文件
7. 需要安装模块
pip install pandas
pip install sqlalchemy
pip install mysqlclient(如果报错,请先加PATH, PATH="$PATH":/usr/local/mysql/bin)
分享到:
相关推荐
利用python进行数据分析;利用python进行数据分析;利用python进行数据分析;利用python进行数据分析
利用Python进行数据分析
附件包含《利用python进行数据分析》全书的学习笔记和自己寻找数据集做的练习代码, 书中需要用到的数据集和示例代码也都包含在其中,在学习的过程中可以直接调用并参考。 原本还有全书的中文pdf版,但是由于版权...
内容概要:利用python进行数据分析第二版最新版 适合人群:应届毕业生,工作1-3年的研发人员 阅读建议:基于python,英文版
《利用python进行数据分析》中所用的CSV文件,用于各种python pandas以及其他第三方包的功能的展示。
口碑比较好的数据分析参考书,Python编程、库,以及用于数据分析的工具。
利用PYTHON进行数据分析.pdf
python 进行数据分析,讲了主要的数据分析用到的库。
基于招聘信息爬取数据利用Python进行数据分析及可视化分析源码.zip基于招聘信息爬取数据利用Python进行数据分析及可视化分析源码.zip基于招聘信息爬取数据利用Python进行数据分析及可视化分析源码.zip基于招聘信息...
利用Python进行数据分析PDF版本,利用Python进行数据分析PDF版本,利用Python进行数据分析PDF版本,利用Python进行数据分析PDF版本,利用Python进行数据分析PDF版本,利用Python进行数据分析PDF版本,利用Python进行...
打造“金课”的实践探索——以《利用Python进行数据分析》课程为例.pdf
使用Python进行数据分析的套路
前言第 2 版新内容本书第 1 版出版于 2012 年,彼时基于 Python 的开源数据分析库(例如 pandas)仍然是一个发展迅速的新事物。在本次更新、拓
利用Python进行数据分析.docx 利用Python进行数据分析.docx 利用Python进行数据分析.docx 利用Python进行数据分析.docx