「数据分析」01数据分析简述及numpy和pandas模块的使用

2020-01-21  本文已影响0人  林拂晓

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

上一篇下一篇

猜你喜欢

热点阅读