数据分析基本知识

#coding utf-8
#mojun

#1,创建一个多维数组,随机生产随机数
#2,数组的索引与变化:
#3矩阵的创建与运算:
#4数组的运算与常用统计分析方法,文件读取。
##=======创建数组===========
import numpy as np
#第一步:一维数组的创建:
arr1=np.array([1,2,3,4])
print(type(arr1))
##二维数组:
arr2=np.array([[1,2,3,4],[4,5,6,4],[7,8,9,5]])
print(arr2)

##数组的属性:
# print('数组类型:',arr2.shape)
# print('数组个数:',arr2.size)
# print('数组类型:',arr2.dtype)
# print('数组维度:',arr2.ndim)
# print('数组元素大小:',arr2.itemsize)
##重设数组类型
# arr2.shape= 4,3
print('重设shap',arr2)

#numpy自动生成数组的函数
#1,arange(起始值,终止值,步长)
#print(np.arange(0,1,0,1))

##生成等差数列:linspace
# np.linspace(起始值,终止值,元素个数)

# print(np.linspace(0,1,22))

##等比数列:logspace(10^a,10^b,元素个数)
# print(np.logspace(0,1,20))

#(4)全0数组
# print(np.zeros((2,3)))

#全1数组
# print(np.ones((2,3)))

#单位数组:一定是方阵
# print(np.eye(3))

##对角数组 diag 一定是方阵
# print(np.diag([1,2,3,4]))
#===============生成随机数============================
#random模块
#1,np.random.random  0~1之间

# print(np.random.random(10))


#2,均匀分布:
# np.random.rand

# print(np.random.rand(10,5))

# 3,正态分布np.random.radn
print(np.random.randn(8,4))

#4,随机整数:np.random.randit
# print(np.random.randint(2,10,size=[2,5]))

#================数组索引==============
##一维数组的索引:类似于列表切片
# arr = np.arange(10)
# print(arr[2:6])
#
# arr[3]=30
# print(arr)
# print(arr[::2])
# print(arr[-1::-2])


#二维数组索引:
#方法一:
arr=np.array([[1,2,3,4,5],[1,5,6,7,8],[4,5,6,10,23]])
# print('索引第0行,第3,4列的元素为:',arr[0,3:])
# print('索引第1,2行,第3,4列的元素为:',arr[1:,3:])
# print('索引第1,2行,第3,4列的元素为:',arr[:,3:4])
#
# print('索引第1,2行,第3,4列的元素为:',arr[:,3])

# 方法二:
# print(arr[(0,1,2),(1,2,3)])  #[2 6 10]
# print(arr[0,1],arr[1,2],arr[2,3]) # 2 6 10
# print(arr[1:,(0,2,3)])  #1,2行的,第0,2,3列的元素为:

#方法三:通过布尔值取值:
# print(arr)
mask = np.array([0,1,0],dtype=np.bool) #bool运算
print(mask)
print(arr[mask,2])

# mask = np.array([1,0,1],dtype=np.bool)
# mask1 = np.array([1,0,1],dtype=np.bool)
# print(arr[mask,mask1]) #等价于print(arr[(),()])
#
# a=np.arange(100).reshape((10,10))
# print(a)
# print(np.array([1,2]:[3,4]:[8,9]))

# arr = np.arange(100).reshape(10,10)
# arr1 = arr[(1,3,8),]
# print(arr1[:,(2,4,9)])

#===========4,变换数组形态============
aa=np.arange(12) ##生成一维数组
print(aa.reshape(3,4).dtype)

arr2 = aa.reshape(3,4)
##二维展评为一维:
print(arr2.ravel())
#展评方法二:flatten
print(arr2.flatten('c')) ##默认为c横向
print(arr2.flatten('f')) #纵向

#组合
arr3=np.arange(12).reshape(3,4)
arr4= 4*arr3
print(np.hstack((arr3,arr4)) )  #横向
print(np.vstack((arr3,arr4)) )    #纵向











  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值