基础模块:
numpy:数值计算扩展
pandas:基于numpy,用于数据探索与分析
scipy:用于高等数据处理
matplotlib:数据可视化工具
statsmodels:用于统计分析
Gensim:用于文本挖掘
sklearn(scikit-learn):机器学习
keras:深度学习
因为需要的模块比较多,故使用Anaconda来管理Python环境
👇👇👇👇👇👇👇👇👇点击展开👇👇👇👇👇👇👇👇👇
[cr_toggle title="Anaconda安装步骤" state="closed"]
官网下载较慢,所以使用清华大学开源软件镜像站下载并安装
顾名思义,Mini版本可以理解为精简版,下载哪个版本无所谓因为包都可以后期安装
安装方法和其他安装软件一样,基本是无脑下一步。
但需要注意以下几点:
1.管理员运行安装
2.安装问题1
上图默认为"Just Me",意为仅当前用户安装。这里按需选择,推荐选择第二项"All Users"全部用户安装。
3.安装问题2
上图第一个选项意为,将Anaconda添加到系统环境变量,貌似Anaconda4.x版本后就不推荐添加到环境变量了
如果添加就可以直接使用CMD或Powershell直接调用conda命令
如果不添加则只能在"Anaconda Prompt"(Anaconda自带的命令窗口)中调用对应命令
第二个选项意为,将Anaconda自带的Python3.6注册为系统默认Python(就是将Anaconda带的python加入环境变量了)
如果你之前系统有安装Python,并且不想删除那这两项请不要勾选
如果你没有安装过Python,为了防止冲突请仅勾选第二项(推荐)
如果你没有安装过Python,并且就想在CMD下执行conda命令那请全部勾选
4.Anaconda与Java环境变量冲突会导致无法创建开始菜单等
先记录并删除Java环境变量重启后安装Anaconda后再添加回来
安装的时候可能会出现各种各样的问题,别慌。先在往上查找是否有解决方法,不行就重头再来。
[/cr_toggle]
安装模块(创建虚拟环境):
conda create -n default pandas scipy matplotlib statsmodels Gensim scikit-learn keras python=3.6
conda create 创建虚拟环境,-n default 虚拟环境命名 名字随便, 后面接需要安装的模块 以及指定python版本如不指定版本默认为最新,这样conda会安装好这些模块所需的全部依赖包期间你只需要输入一下Y(确认)等待完成即可。
activate default
deactivte default
activate 环境名 即可进入虚拟环境;deactivte 即可退出虚拟环境
进入 创建的 default 环境后键入
conda list
可以查看当前环境下已经安装的全部包。
[cr_toggle title="实例截图" state="open"]
[/cr_toggle]
模块的使用:
numpy
>>> import numpy
>>> array1 = numpy.array([8,4,9,3,2,0,33,77])
>>> array2 = numpy.array([['virace','virgo','ace'],['a','b','c'],['d','e','f']])
>>> array1.sort()
>>> array1
array([ 0, 2, 3, 4, 8, 9, 33, 77])
array1为一维数组, array为二维数组。Numpy模块支持多为数组。array.sort()为数组排序(仅支持一维数组)
>>> array3 = numpy.array([[12,66,23,45,64],[97,43,57,74,23],[32,56,79,56,77]])
>>> array3.max()
97
>>> array3.min()
12
>>> array4 = numpy.array([['12','66','23','45','64'],['97','43','57','74','23'],['32','56','79','56','77']])
>>> array4.max()
Traceback (most recent call last):
File "", line 1, in
File "D:\Office\Anaconda3\envs\default\lib\site-packages\numpy\core\_methods.py", line 26, in _amax
return umr_maximum(a, axis, None, out, keepdims)
TypeError: cannot perform reduce with flexible type
Numpy支持多维数字类型数组取最大最小值,array.max();array.min()
>>> array1[1:3]
array([2, 3])
>>> array1[:3]
array([0, 2, 3])
>>> array2[:3]
array([['virace', 'virgo', 'ace'],
['a', 'b', 'c'],
['d', 'e', 'f']], dtype='
>>> array2[:2]
array([['virace', 'virgo', 'ace'],
['a', 'b', 'c']], dtype='
>>> array2[:2][1:3]
array([['a', 'b', 'c']], dtype='
Numpy支持多维数组切片,大体和Python字典类型切片一样。多维数组切片只需要一层一层切即可。
pandas
In [1]: import pandas as pd
In [2]: a = pd.Series([6,7.5,8,3,1])
In [3]: a
Out[3]:
0 6.0
1 7.5
2 8.0
3 3.0
4 1.0
dtype: float64
这里换了iPython解释器,在虚拟环境中键入ipython即可进入(代码无区别),Series(序列)暂时将他理解为一维数组(因为还没有深入使用)。
In [4]: b = pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]])
In [5]: b
Out[5]:
0 1 2
0 1 2 3
1 4 5 6
2 7 8 9
In [6]: b.head(1)
Out[6]:
0 1 2
0 1 2 3
In [7]: b.tail(1)
Out[7]:
0 1 2
2 7 8 9
In [8]: b.describe()
Out[8]:
0 1 2
count 3.0 3.0 3.0
mean 4.0 5.0 6.0
std 3.0 3.0 3.0
min 1.0 2.0 3.0
25% 2.5 3.5 4.5
50% 4.0 5.0 6.0
75% 5.5 6.5 7.5
max 7.0 8.0 9.0
In [9]: b.T
Out[9]:
0 1 2
0 1 4 7
1 2 5 8
2 3 6 9
DataFrame11(数据框),可以理解为Excel表格,或数据库表。
DataFrame.head(n),取前n行,默认为5;DataFrame.tail(n),取后n行,默认为5
DataFrame.describe(),简单统计信息(count:总数;mean:均值;std:标准差;min:最小值;25%:四分之一分位数;50%:中位数;75%:四分之三分位数;max:最大值)
DataFrame.T,转置,横纵坐标相反
pd.read_csv(filename):从CSV文件导入数据
pd.read_table(filename):从限定分隔符的文本文件导入数据
pd.read_excel(filename):从Excel文件导入数据
pd.read_sql(query, connection_object):从SQL表/库导入数据
pd.read_json(json_string):从JSON格式的字符串导入数据
pd.read_html(url):解析URL、字符串或者HTML文件,抽取其中的tables表格
pd.read_clipboard():从你的粘贴板获取内容,并传给read_table()
pd.DataFrame(dict):从字典对象导入数据,Key是列名,Value是数据
一些基础的数据导入方法。
pd.read_feather
pd.read_hdf
pd.read_msgpack
pd.read_sas
pd.read_sql_table
pd.read_fwf
pd.read_parquet
pd.read_stata
pd.read_gbq
pd.read_pickle
pd.read_sql_query
上面这些是其他一些导入的方法,用到的时候会讲~
[cr_alert style="red"]
[/cr_alert]