数组是数据分析的基础,使用数组需要先加载两个包 Numpy 和 Pandas包
一、一维数组数据分析
在一维数组中更实用的的是pandas的Serise数组功能,numpy主要应用于值计算,两种数组都具有查询功能,向量化运算。numpy数组中每个元素都必须是同一种数据类型,列表可以是不同都数据类型。Series有索引功能,方便通过索引访问里面都元素,可以查询数组里面的描述统计信息,根据iloc属性通过位置获取值,loc属性用于根据索引获取值。s3.dropna()可删除缺失值,s3=s1.add(s2,fill_value=0)【s3=s2.add(s1,fill_value=0)】用指定值填充缺失值。
#一维数据分析
#导入包。numpy和pandas包
import numpy as np
import pandas as pd
#定义一维数组 array
a = np.array([1,2,3,4,5,6,7])
#查询
a[5]
6
#切片访问:获取指定序号范围的元素
#a[1:5]获取到的是序号从1到5的元素
a[1:5]
array([2, 3, 4, 5])
#查看数据类型dtype
a.dtype
dtype('int64')
#统计计算 平均值
a.mean()
4.0
#计算 标准差
a.std()
2.0
#向量化运算 乘以标量
b=np.array([1,2,3,4,5,6,7])
c=b*6
c
array([ 6, 12, 18, 24, 30, 36, 42])
# pandas 一维数据分析
#series一维数组结构
#定义:Pandas一维数据结构:Series
#存放6家公司某一天的股价
stockS=pd.Series([54.74,190.9,173.14,1050.3,181.86,1139.49],
index=['腾讯',
'阿里巴巴',
'苹果',
'谷歌',
'Facebook',
'亚马逊'])
print(stockS)
腾讯 54.74
阿里巴巴 190.90
苹果 173.14
谷歌 1050.30
Facebook 181.86
亚马逊 1139.49
dtype: float64
#获取描述统计信息
stockS.describe()
count 6.000000
mean 465.071667
std 491.183757
min 54.740000
25% 175.320000
50% 186.380000
75% 835.450000
max 1139.490000
dtype: float64
#iloc属性用于根据位置获取值 iloc位置
stockS.iloc[3]
1050.3
#loc属性用于根据索引获取值 根据索引index
stockS.loc['苹果']
173.14
#向量相加
s1=pd.Series([1,2,3,4,5],index=['a','b','c','d','e'])
s2=pd.Series([10,20,30,40,50],index=['a','b','c','g','h'])
s3=s1+s2
s3
a 11.0
b 22.0
c 33.0
d NaN
e NaN
g NaN
h NaN
dtype: float64
#方法1:删除空值
s3.dropna()
a 11.0
b 22.0
c 33.0
dtype: float64
# 方法2:将确实值进行填充
s3=s1.add(s2,fill_value=0)
s3
a 11.0
b 22.0
c 33.0
d 4.0
e 5.0
g 40.0
h 50.0
dtype: float64
二、二维数组数据分析
numpy二维数组array 查询元素,都是用位置来查询元素[1,2],也可以进行切片访问如[1,:]查询第二行,[:,1]查询第二列,在获取描述统计信息都时候可以通过指定数轴来查询行或者列的描述统计信息(axis=1行 axis=0列)。
pandas二维数组,数据框DataFrame 数据框每一列可以是不同类型,可以指定索引功能,每一行和每一列都有索引值。字典是无序数据结构,所以传入数据框以后是无序,需要应用有序字典对排序,使传入数据和数据框一致。获取描述统计信息获取对是列对描述统计信息。查询数据类型和series一样,有iloc和loc两种属性获取或者查询行列数据,实际应用中loc属性获取列数据更实用。条件判断:建立查询条件,返回一维数组结构(布尔值数据),应用查询条件。查询描述统计信息:读取Excel数据,打印