python使⽤⼤数据-基于python的⼤数据分析基本知识1. 数据科学领域中常⽤的python库
Numpy库:数据运算的基础库,运⾏效率⾼(底层C语⾔,⾼效index)
Scipy库:实现了常⽤的科学计算⽅法(线性代数,傅⾥叶变换,信号和图像处理)
Pandas库:分析数据的利器,⾼级数据结构(Series,DataFrame)
Matplotlib库:绘图功能(散点,曲线,柱形)
2. Anaconda的使⽤说明
介绍:著名的python数据科学平台,开源,跨平台。包含有流⾏的python和R的包。
Jupyter notebook基本使⽤:
新建⼀个⽂件:new
plsql安装包和包
执⾏代码:Shift+Enter
模式切换:code 和 markdownpython基础知识整理
查看函数帮助信息: shift+tab
以%开头的为魔法函数:%matplotlib inline
Jupyter notebook基本使⽤
3. Numpy库介绍xnormal安装教程
3.1 预备知识
数组与矩阵:数组可以是N维的,⽽矩阵是⼆维的数组。
向量:1 * N 或 N * 1 的矩阵
标量:1 * 1 的矩阵
3.2 定义数组
importnumpy as np
null在java中什么意思list_1= [1,2,3,4,5]
array_1=np.array(list_1)print(array_1)
定义⼀维数组
importnumpy as np
list_1= [1, 2, 3, 4]
list_2= [5, 6, 7, 8]
array_2=np.array([list_1, list_2])print(array_2)
#arange函数类似于python的range函数
importnumpy as np
array_3= np.arange(1, 10, 2)print(array_3)
通过arange函数定义数组
importnumpy as np
array_4_1= np.zeros(5) #定义⼀维全零数组
print(array_4_1)
array_4_2= np.zeros([2,3]) #定义⼆维全零数组,两⾏三列
print(array_4_2)
定义全零数组
importnumpy as np
array_5= np.eye(5) #定义单位数组: 5*5
print(array_5)
定义单位数组
importnumpy as np
array_6= np.random.randn(10)print(array_6)
通过randn定义数组
importnumpy as np
array_7_1= np.random.randint(10, size=10) #⼀维数组: 每个元素都是0-9中的⼀个数,size表⽰1⾏10列
print(array_7_1)
array_7_2= np.random.randint(10, size=(2,3)) #⼆维数组: 每个元素都是0-9中的⼀个数,size表⽰2⾏3列
print(array_7_2)
array_7_3= np.random.randint(10, size=20).reshape(4,5) #⼆维数组,每个元素都是0-9中的⼀个数,si
ze表⽰1⾏20列,通过reshape函数进⾏再次切分
print(array_7_3)
通过randint定义数组
importnumpy as np
array_1= np.random.randint(10, size=20).reshape(4,5)#数组的属性
print(array_1.shape) #数组⾏列信息:(4, 5)
print(array_1.size) #数组总数量:20
print(array_1.dtype) #元素数据类型, 如果存在多种类型,则取精度最⾼的那个#数组的访问--操作与切⽚类似
print(array_1)print(array_1[0][1]) #⾏选0,列选1
print(array_1[0,1]) #⾏选0,列选1
print(array_1[:2,1:3]) #⾏选0和1,列选1和2
#数组的常⽤函数
print(np.unique(array_1))print(np.sum(array_1)) #返回所有数组元素的和print(np.sum(array_1[0])) #返回某⼀⾏的和
print(np.sum(array_1[:,0])) #返回某⼀列的和
print(array_1.max()) #返回元素中的最⼤值
print(array_1[0].max()) #返回某⼀⾏中的最⼤值
print(array_1[:,0].min()) #返回某⼀列中的最⼩值
数组操作
3.4 矩阵相关
importnumpy as np
m= np.mat([[1,2,3, 4],[5,6,7,8]])print(m)
通过列表定义矩阵
importnumpy as np
a= np.random.randint(10, size=20).reshape(4,5) #定义⼀个⼆维数组
m =np.mat(a)print(m)
通过⼆维数组定义矩阵
importnumpy as np
A= np.mat(np.random.randint(10, size=20).reshape(4,5))
variable造句B= np.mat(np.random.randint(10, size=20).reshape(5,4))print(A * B) #注意:A*B 其中[A矩阵的⾏]和[B矩阵的列]需要⼀样,否则会报错
矩阵的乘积运算
4. Pandas库介绍
pandas库主要功能是进⾏数据的分析和处理,它有两个重要的数据结构:Series 和 DataFrame
4.1 关于数据处理过程中的NaN数据
1. np.nan 其数据类型为float
2. 特点:任何数据跟NaN进⾏运算,都是NaN
3. 删除带有NaN的⾏或列
s.dropna()
df.dropna(axis=1),其中how参数:any(有nan就删)还是all(全是nan才删),thresh参数:可以设置nan的阈值4. 其他与nan有关的函数
s.isnull(),s.notnull(),df.isnull(),df.notnull()
df.fillna(value=1) #nan值全部填充为1
df.fillna(value=(0:0,1:1)) #0列nan填充0,1列nan填充1
关于NaN的⼀些知识点
4.2 数据结构Series
Series 类似于 Numpy 中的 array
4.2.1 定义Series
importnumpy as npimportpandas as pd#通过list
s1 = pd.Series([1,2,3,4,5], index=['a','b','c','d','e'])print(s1)#通过array
s2 = pd.Series(np.arange(10))print(s2)#通过dict, 其中dict的key为index
s3 = pd.Series({"a":1,"b":2,"c":3,})print(s3)
创建Series:3种⽅式
s.index
s.name
s.index.name
s.values
Series⼀些常见属性
4.2.2 Series基本操作
importpandas as pd
s2= pd.Series([1,2,3,4,5], index=['a','b','c','d','e'])print(s2["b"]) #访问元素:根据索引
print(s2[s2<3]) #访问元素:给定值范围
_dict()) #将 Series 转为 dict
网站设计器index_new= ["A","B","C","D","E","F"]
s3= pd.Series(s2, index=index_new) #改变Series的索引
s2.drop('a') #删除⼀个元素
#Series的排序
s2.sort_index() #Series依据index排序
s2.sort_values() #Series依据values排序
Series基本操作
4.3 数据结构DataFrame
4.3.1 DataFrame基本知识
DataFrame对象中的某⼀列,返回的是⼀个Series对象
importnumpy as npimportpandas as pdfrom pandas importSeries, DataFrame#⽅式1:csv --> DataFrame
df1 = pd.read_csv("filePath_csv")#⽅式2:Series --> DataFrame
df2 = DataFrame([s1, s2], index=["a","b"])#⽅式3:dict --> DataFrame
df3 = DataFrame({})
创建DataFrame
df.shape #查看df的⾏数和列数
df.head() #查看df的某⼏⾏数据
df[['列名1','列名2']] #查看df的某些列数据, 也可以⽤ df.列名 的⽅法
df.T #对df进⾏转置
DataFrame的基本操作
### 过滤功能#对原有的DataFrame过滤掉某些列,得到⼀个新的DataFrame 相当于删除某些列
df_new = DataFrame(df, columns=['第⼀列', '第三列']) #如果columns中填写的列在df中不存在,那么该列的value均为NaN#表⽰⾏取10-19,列取0-1
df.iloc[10:20,0:2]#表⽰⾏取10-11,列取从第⼀个到列名为[列名1]的列
df.loc[10:11,:'列名1']### 修改value#给column中⼀整列全部value重新赋值
df_new['第N列'] = list | numpy |pandas#给column中某⼀个或⼏个元素赋值
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论