最近工作中用到了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中的Pandas库提供了高效的数据结构...
知识点七:Python数据分析的进阶技术 数据分析不仅仅是数据处理和可视化,还包括统计建模、预测分析等更复杂的技术。Python的统计库SciPy和机器学习库scikit-learn为这些高级分析提供了强大的工具。通过这些库,分析...
总的来说,"《利用python进行数据分析》数据集.rar"提供了丰富的实践素材,可以帮助读者巩固和提升Python数据分析技能。通过实际操作这些数据,读者不仅可以学习到如何使用pandas和其他工具,还能了解数据分析的完整...
《利用Python进行数据分析(第二版)》是一本详细介绍如何使用Python进行数据处理、分析和可视化的书籍。...它不仅涵盖了Python语言基础,还深入探讨了数据分析的各个环节,是学习Python数据分析的宝贵资源。
附件包含《利用python进行数据分析》全书的学习笔记和自己寻找数据集做的练习代码, 书中需要用到的数据集和示例代码也都包含在其中,在学习的过程中可以直接调用并参考。 原本还有全书的中文pdf版,但是由于版权...
内容概要:利用python进行数据分析第二版最新版 适合人群:应届毕业生,工作1-3年的研发人员 阅读建议:基于python,英文版
《利用Python进行数据分析》不仅是一本指南,也是一本工具书,它通过丰富的实例和详细的解释,帮助读者构建起完整的Python数据分析框架,并实际应用于各种数据问题的解决中。 以上所述的知识点,涵盖了《利用Python...
python 进行数据分析,讲了主要的数据分析用到的库。
基于招聘信息爬取数据利用Python进行数据分析及可视化分析源码.zip基于招聘信息爬取数据利用Python进行数据分析及可视化分析源码.zip基于招聘信息爬取数据利用Python进行数据分析及可视化分析源码.zip基于招聘信息...
打造“金课”的实践探索——以《利用Python进行数据分析》课程为例.pdf
使用Python进行数据分析的套路
《利用Python进行数据分析》这本书是Python数据科学领域的一本经典之作,主要面向希望掌握Python进行数据分析的初学者和进阶者。这本书详细介绍了如何利用Python的库,如Pandas、NumPy、Matplotlib等,来处理、分析...
在众多的Python数据分析库中,Pandas尤其值得关注。Pandas是一个开源的Python库,为数据分析提供了高性能、易于使用的数据结构和数据分析工具。使用Pandas,可以方便地处理表格数据,进行数据清洗和转换,以及对时间...