「数据分析」01数据分析简述及numpy和pandas模块的使用
1.数据分析与数据挖掘
(1)定义对比
数据分析是对已知数据进行分析,提取出一些有价值的信息;而数据挖掘是对大量数据进行分析与挖掘,得到一些未知的、有价值的信息。
(2)数据挖掘的过程
①定义目标/需求;
②获取数据(三种方式:自动爬虫采集、获取网站发布的数据、自有数据)
③数据探索
④数据预处理(四个步骤:数据清洗【去掉无效、异常、缺失的数据】、数据集成【集中】、数据变换【规范化】、数据规约【精简】)
⑤挖掘模型(四种方式:分类、聚类、关联、预测)
⑥模型评价与发布
(3)python数据分析使用的相关模块
①numpy高效处理数据、提供数组支持,很多模块都依赖于它,如:pandas、scipy、matplotlib。
②pandas用于进行数据探索和数据分析。
③matplotlib作图,解决可视化问题。
④scipy进行数值计算,同时支持矩阵运算,并提供了很多高等数据处理功能,比如积分、傅里叶变换、微分方程求解等。
⑤statsmodels用于统计分析。
⑥gensim用于文本挖掘。
⑦sklearn用于机器学习,keras用于深度学习。
2.numpy模块
使用前提:import numpy
(1)创建一维数组格式:numpy.array([元素1,元素2,...,元素n])
x=numpy.array(["abc","123","456","7"])
>>>>>x
array(['abc', '123', '456', '7'], dtype='<U3')
>>> x[2]
'456'
(2)创建二维数组格式:numpy.array([[元素1,元素2,...,元素n],,,..,[元素1,元素2,...,元素n]])
y=numpy.array([[3,4,5],["a","b","c"],["py",8,"4ykl"]])
>>>y
array([['3', '4', '5'],
['a', 'b', 'c'],
['py', '8', '4ykl']], dtype='<U11')
>>>y[2][2]
'4ykl'
(3)数组元素排序:sort()
x.sort()
>>> x
array(['123', '456', '7', 'abc'], dtype='<U3')
y.sort()
>>> y
array([['3', '4', '5'],
['a', 'b', 'c'],
['4ykl', '8', 'py']], dtype='<U11')
(4)取最大值max()和最小值min()
z=numpy.array([[9,7,3],[2,8,1],[4,9,3]])
z1=z.max()
>>> z1
9
z2=z.min()
>>> z2
1
(5)数组切片:按照下标切开取某一段元素,即数组名[start:stop+1]
>>>z[1:3]
array([[2, 8, 1],
[4, 9, 3]])
3.pandas模块
使用前提:import pandas
(1)Series指某一串数字,默认有index索引(0,1,2,...)
a=pandas.Series([4,1,9,5])
>>> a
0 4
1 1
2 9
3 5
dtype: int64
b=pandas.Series([4,1,9,5],index=["one","two","three","four"])
>>> b
one 4
two 1
three 9
four 5
dtype: int64
(2)DataFrame类似于表格,代表行列整合出来的数据
c=pandas.DataFrame([[5,6,2,3],[8,5,6,1],[7,2,9,3]])
>>> c
0 1 2 3
0 5 6 2 3
1 8 5 6 1
2 7 2 9 3
d=pandas.DataFrame([[5,6,2,3],[8,5,6,1],[7,2,9,3]],columns=["one","two","three","four"])
>>> d
one two three four
0 5 6 2 3
1 8 5 6 1
2 7 2 9 3
e=pandas.DataFrame({
"one":4,
"two":[6,9,2],
"three":list(str(128))
})
>>> e
one three two
0 4 1 6
1 4 2 9
2 4 8 2
【注】数值不够自动填充。
(3)调取数据框头部数据,默认显示前五行
d.head()
ps:调取指定行数数据
d.head(2)
(4)调取尾部数据,默认后五行
d.tail()
ps:调取指定行数
d.tail(2)
(5)展示所有数据统计情况,默认按列统计
f=d.describe()
>>> f
one two three four
(计数)count 3.000000 3.000000 3.000000 3.000000
(平均数)mean 6.666667 4.333333 5.666667 2.333333
(标准差)std 1.527525 2.081666 3.511885 1.154701
(最小值)min 5.000000 2.000000 2.000000 1.000000
(前分位数)25% 6.000000 3.500000 4.000000 2.000000
(中分位数)50% 7.000000 5.000000 6.000000 3.000000
(后分位数)75% 7.500000 5.500000 7.500000 3.000000
(最大值)max 8.000000 6.000000 9.000000 3.000000
(6)数据转置
d.T
>>> d.T
0 1 2
one 5 8 7
two 6 5 2
three 2 6 9