【python】python3.7数据分析入门学习笔记 研读

本文介绍了Python3.7进行数据分析的基本流程,涵盖了数据导入导出、提取筛选、统计描述、处理、统计分析和可视化等方面。重点讨论了numpy、pandas、matplotlib、scipy、statsmodels和scikit-learn等库的使用,并提供了相关实例,如读取csv、excel文件,数据处理、t检验、方差分析和可视化图表。
摘要由CSDN通过智能技术生成
原文:https://www.cnblogs.com/zzhzhao/p/5269217.html

目录
一、  数据分析有关的python库简介

(一)numpy

(二)pandas

(三)matplotlib

(四)scipy

(五)statsmodels

(六)scikit-learn

二、  数据的导入和导出
三、  数据筛选
四、  数据描述
五、  数据处理
六、  统计分析
七、  可视化
八、  其它

 前言:各种和数据分析相关python库的介绍

(前言1~4摘抄自《利用python进行数据分析》)

1.Numpy:
Numpy是python科学计算的基础包,它提供以下功能(不限于此):
(1)快速高效的多维数组对象ndarray 
(2)用于对数组执行元素级计算以及直接对数组执行数学运算的函数
(3)用于读写硬盘上基于数组的数据集的工具
(4)线性代数运算、傅里叶变换,以及随机数生成
(5)用于将C、C++、Fortran代码集成到python的工具

2.pandas
pandas提供了使我们能够快速便捷地处理结构化数据的大量数据结构和函数。pandas兼具Numpy高性能的数组计算功能以及电子表格和关系型数据(如SQL)灵活的数据处理能力。它提供了复杂精细的索引功能,以便更为便捷地完成重塑、切片和切块、聚合以及选取数据子集等操作。
对于金融行业的用户,pandas提供了大量适用于金融数据的高性能时间序列功能和工具。
DataFrame是pandas的一个对象,它是一个面向列的二维表结构,且含有行标和列标。
ps.引用一段网上的话说明DataFrame的强大之处:
Excel 2007及其以后的版本的最大行数是1048576,最大列数是16384,超过这个规模的数据Excel就会弹出个框框“此文本包含多行文本,无法放置在一个工作表中”。Pandas处理上千万的数据是易如反掌的事情,同时随后我们也将看到它比SQL有更强的表达能力,可以做很多复杂的操作,要写的code也更少。 说了一大堆它的好处,要实际感触还得动手码代码。

3.matplotlib
matplotlib是最流行的用于绘制数据图表的python库。

4.Scipy
Scipy是一组专门解决科学计算中各种标准问题域的包的集合。
5.statsmodels: https://github.com/statsmodels/statsmodels
6.scikit-learn: http://scikit-learn.org/stable/


一.数据导入和导出 

注意:地址中的\ 是转义符,所以E:\必须表示为E:\\ 或者在路径前面加r,如:r'E:\tips.csv' 和'E:\\tips.csv' 等价

 (一)读取csv文件

1.本地读取

import pandas as pd
df = pd.read_csv('E:\\tips.csv')  #根据自己数据文件保存的路径填写(p.s.  python填写路径时,要么使用/,要么使用\\) 路径不要有中文
#输出:
     total_bill   tip     sex smoker   day    time  size
        16.99  1.01  Female     No   Sun  Dinner     2
        10.34  1.66    Male     No   Sun  Dinner     3
        21.01  3.50    Male     No   Sun  Dinner     3
        23.68  3.31    Male     No   Sun  Dinner     2
        24.59  3.61  Female     No   Sun  Dinner     4
        25.29  4.71    Male     No   Sun  Dinner     4
..          ...   ...     ...    ...   ...     ...   ...
      27.18  2.00  Female    Yes   Sat  Dinner     2
      22.67  2.00    Male    Yes   Sat  Dinner     2
      17.82  1.75    Male     No   Sat  Dinner     2
      18.78  3.00  Female     No  Thur  Dinner     2
[244 rows x 7 columns]

2.网络读取

import pandas as pd
data_url = "https://raw.githubusercontent.com/mwaskom/seaborn-data/master/tips.csv" #填写url读取
df = pd.read_csv(data_url)
#输出同上,为了节省篇幅这儿就不粘贴了
print(df)​

3.read_csv简单用法:

语句分析:

q_table6 = pd.read_csv('dl_data.csv',encoding = "utf-8",header = 0,names = range(0,50))

功能:将原来的列索引[-25......25]替换成[0....49]。

介绍:header = 0是默认情况(即不标明,默认就是header = 0),表示以数据的第一行为列索引。

           encoding = "utf-8"表明以utf-8为编码规则。

           names = range(0,50))表示以[0....49]为列索引的名字

q_table6 = pd.read_csv('dl_data.csv',encoding = "utf-8",header = None,names = range(0,50))

功能:给数据添加一行列索引[0....49],header = None表示原来的数据是没有列索引的,就算你的数据里面有列索引,这时就把原来的列索引当成了数据。

上面两个语句都会默认为数据添加行索引,即会把原来的行索引当成数据,自己再添加新的行索引[0,1,2.....] !!!!!!!如果不想添加新的行索引,代码如下:

q_table6 = pd.read_csv('dl_data.csv',encoding = "utf-8",index_col=0)

index_col=0表示以原有数据的第一列(索引为0)当作行索引。

详细参数:http://www.cnblogs.com/datablog/p/6127000.html

(二)读取Mysql数据

import pandas as pd
import MySQLdb
mysql_cn= MySQLdb.connect(host='localhost', port=3306,user='myusername', passwd='mypassword', db='mydb')
df = pd.read_sql('select * from test;', con=mysql_cn)    
mysql_cn.close()

上面的代码读取了test表中所有的数据到df中,而df的数据结构为Dataframe。 ps.MySQL教程:http://www.runoob.com/mysql/mysql-tutorial.html

(三)读取excel文件

要读取excel文件还需要安装xlrd模块,pip install xlrd即可。

df = pd.read_excel('E:\\tips.xls')

(四)数据导出到csv文件

df.to_csv('E:\\demo.csv', encoding='utf-8', index=False) #index=False表示导出时去掉行名称,如果数据中含有中文,一般encoding指定为‘utf-8’

二.提取和筛选需要的数据

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值