自然智能:自然智能(Natural Intelligence,NI),指人通过大脑的运算和决策产生有价值的行为。这些行为包括了人的大脑思考及决策、耳朵听力及判断、眼睛视觉及判断、鼻子嗅觉及判断、皮肤触觉及判断等,体现在人行为的方方面面。
人工智能(Artificial intelligence)简称AI。人工智能是计算机科学的一个分支,它企图了解智能的本质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。
机器学习(Machine Learning)简称ML。机器学习属于人工智能的一个分支,也是人工智能的和核心。机器学习理论主要是设计和分析一些让计算机可以自动”学习“的算法。
深度学习(Deep Learning)简称DL。最初的深度学习是利用深度神经网络来解决特征表达的一种学习过程。深度神经网络本身并不是一个全新的概念,可大致理解为包含多个隐含层的神经网络结构。为了提高深层神经网络的训练效果,人们对神经元的连接方法和激活函数等方面做出相应的调整。深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,如图象、声音、文本。
工具
Jupyter Notebook将代码、说明文本、数学方程式、数据可视化图表等内容全部组合到一起显示在一个共享的文档中,可以实现一边写代码一边记录,而这些功能是Python自带的IDLE和集成开发环境PyCharm无法比拟的。
快捷键
Enter : 转入编辑模式
Shift-Enter : 运行本单元,选中下个单元
Ctrl-Enter : 运行本单元
Alt-Enter : 运行本单元,在其下插入新单元
Y : 单元转入代码状态
M :单元转入markdown状态
R : 单元转入raw状态
1 : 设定 1 级标题
2 : 设定 2 级标题
3 : 设定 3 级标题
4 : 设定 4 级标题
5 : 设定 5 级标题
6 : 设定 6 级标题
Up : 选中上方单元
K : 选中上方单元
Down : 选中下方单元
J : 选中下方单元
Shift-K : 扩大选中上方单元
Shift-J : 扩大选中下方单元
A : 在上方插入新单元
B : 在下方插入新单元
X : 剪切选中的单元
C : 复制选中的单元
Shift-V : 粘贴到上方单元
V : 粘贴到下方单元
Z : 恢复删除的最后一个单元
D,D : 删除选中的单元
Shift-M : 合并选中的单元
Ctrl-S : 文件存盘
S : 文件存盘
L : 转换行号
O : 转换输出
Shift-O : 转换输出滚动
Esc : 关闭页面
Q : 关闭页面
H : 显示快捷键帮助
I,I : 中断Notebook内核
0,0 : 重启Notebook内核
Shift : 忽略
Shift-Space : 向上滚动
Space : 向下滚动
数据分析 1.数据分析流程:
熟悉工具-明确目的-获取数据-数据处理-数据分析-验证结果-结果呈现-数据应用
2.数据分析常用工具excel
excel具备多种强大的功能,例如创建表格,数据透视表,VBA等,excel系统如此庞大,但是在今天,大数据,人工智能时代,数据量很大的情况,excel已经无法胜任,不仅处理起来速度会变慢,从数据分析层面,excel只是停留在描述性分析
python
虽然Excel已尽最大努力考虑到数据分析的大多数应用场景,但由于它是定制软件,很多东西都固化了,不能自由地修改。而Python非常的强大和灵活,可以编写代码来执行所需的任何操作,从专业和方便的角度来看,它比Excel更加强大。另外,Python可以实现Excel难以实现的应用场景。专业的统计分析 预测分析
Pandas
概述:Pandas是数据分析三大剑客之一,是Python的核心数据分析库,它提供了快速、灵活、明确的数据结构,能够简单、直观、快速地处理各种类型的数据
Pandas提供的两个主要数据结构Series(一维数组结构)与DataFrame(二维数组结构)
SeriesSeries是Python的Pandas库中的一种数据结构,它类似一维数组,由一组数据以及与这组数据相关的标签(即索引)组成,或者仅有一组数据没有索引也可以创建一个简单的Series。Series可以存储整数、浮点数、字符串、Python对象等多种类型的数据。
DataFrameDataFrame是Pandas库中的一种数据结构,它是由多种类型的列组成的二维表数据结构,由行、列数据组成的表格 ,类似于Excel、SQL或Series对象构成的字典。DataFrame是最常用的Pandas对象,它与Series对象一样支持多种类型的数据。
DataFrame重要属性| 属性 | 描述 | 举例 |
| values | 查看所有元素的值 | df.values |
| dtypes | 查看所有元素的类型 | df.dtypes |
| index | 查看所有行名、重命名行名 | df.index df.index=[1,2,3] |
| columns | 查看所有列名、重命名列名 | df.columns df.columns=['语文','数学'] |
| T | 行列数据转换 | df.T |
| head | 查看前n条数据,默认5条 | df.head() df.head(7) |
| tail | 查看后n条数据,默认5条 | df.tail() |
| shape | 查看行数和列数,[0]表示行,[1]表示列 | df.shape[0] df.shape[1] |
| ]info | 查看索引,数据类型和内存信息 | df.info |
DataFrame重要函数
| 函数 | 描述 | 举例 |
| describe | 查看每列的统计汇总信息,DataFrame类型 | df.describe() |
| count | 返回每一列中的非空值得个数 | df.count() |
| sum | 返回每一列的和,无法计算返回空值 | df.sum() |
| max | 返回每一列的最大值 | df.max() |
| min | 返回每一列的最小值 | df.min() |
| argmax | 返回最大值所在的自动索引的位置 | df.argmax() |
| argmin | 返回最小值所在的自动索引的位置 | df.argmin() |
| idxmax | 返回最大值所在的自定义索引位置 | df.idxmax() |
| idxmin | 返回最小值所在的自定义索引位置 | df.idxmin() |
| mean | 返回每一列的平均值 | df.mean() |
| median | 返回每一列的中位数(中位数又称中值,指按顺序排列的一组数据中居于中间位置的数) | df.median() |
| var | 返回每一列的方差(方差用于度量单个随机变量的离散程度--不连续程度) | df.var() |
| std | 返回每一列的标准差(标准差是算术平方根,反映数据集的离散程度) | df.std() |
| isnull | 检查df的空值,空值为True,反之则为False | df.isnull() |
| notnull | 检查df的空值,非空值为True,反之为False | df.notnull() |
导入文件 导入.xls或.xlsx文件
导入.xls或者.xlsx文件使用’pd.read_excel‘导入文件,参数如下:
导入csv文件或者txt文件io:字符串,.xls或.xlsx文件路径或类文件对象。
sheet_name:None、字符串、整数、字符串列表或整数列表,默认值为0。字符串用于工作表名称,整数为索引表示工作表位置,字符串列表或整数列表用于请求多个工作表,为None时获取所有工作表
header:指定作为列名的行,默认值为0
names:默认值为None,要使用的列名列表
index_col:指定列为行索引,默认值为None
usecols:int、list列表或字符串,默认值为None。 如果为None,则解析所有列。 如果为int,则解析最后一列。 如果为list列表,则解析列号列表的列。 如果为字符串,则表示以逗号分隔的Excel列字母和列范围列表(例如“A:E”或“A,C,E:F”)。范围包括双方。
squeeze:/skwiːz/ 布尔值,默认值为False,如果解析的数据只包含一列,则返回一个
Series。
dtype:列的数据类型名称或字典,默认值为None
nrows:/rəʊz/导入前多少行
skiprows:省略指定行数的数据,从第一行开始。
skipfooter:省略指定行数的数据,从尾部数的行开始。
导入.csv文件主要使用Pandas的read_csv()方法,参数如下:
filepath_or_buffer:字符串,文件路径,也可以是URL链接。
sep、delimiter:字符串,分隔符。
header:指定作为列名的行,默认值为0,即取第1行的值为列名。数据为除列名以外的数据;若数据不包含列名,则设置header=None。
names:默认值为None,要使用的列名列表。
index_col:指定列为索引列,默认值为None,索引0是DataFrame的行标签。
usecols:int、list列表或字符串,默认值为None。 如果为None,则解析所有列。 如果为int,则解析最后一列。 如果为list列表,则解析列号列表的列。 如果为字符串,则表示以逗号分隔的Excel列字母和列范围列表(例如“A:E”或“A,C,E:F”)。范围包括双方。
dtype:列的数据类型名称或字典,默认值为None。例如{'a':np.float64,'b':np.int32}。
parse_dates:布尔类型值、int类型值的列表、列表或字典,默认值为False。可以通过parse_dates参数直接将某列转换成datetime64日期类型。例如,df1=pd.read_csv('1月.csv', parse_dates=['订单付款时间'])。
parse_dates为True时,尝试解析索引。
parse_dates为int类型值组成的列表时,如[1,2,3],则解析1、2、3列的值作为独立的日期列。
parse_date为列表组成的列表,如[[1,3]],则将1、3列合并,作为一个日期列使用。
parse_date为字典时,如{'总计':[1, 3]},则将1、3列合并,合并后的列名为“总计”。
encoding:字符串,默认值为None,文件的编码格式。Python常用的编码格式是UTF-8。 中文编码:'gbk'
返回值:返回一个DataFrame。
导入.txt文件同样使用Pandas的read_csv()方法,不同的是需要指定sep参数(如制表符t)
导入HTML网页
导入HTML网页数据主要使用Pandas的read_html()方法,该方法用于导入带有table标签的网页表格数据,参数如下
io:字符串,文件路径,也可以是URL链接。网址不接受https,可以尝试去掉https中的s后爬取,如http://www.mingribook.com。
match:正则表达式,返回与正则表达式匹配的表格。
flavor:/ˈfleɪvə(r)/解析器默认为lxml。
header:指定列标题所在的行,列表list为多重索引。
index_col:指定行标题对应的列,列表list为多重索引。
encoding:字符串,默认为None,文件的编码格式。



