python数据分析基础:numpy

# 创建多维数组:ndarray为多维数组对象(数组作为数组的元素)

import numpy as np

# 创建ndarray

data1 = [1,2,3,4,5,6]

ndarr1 = np.array(data1)

print(ndarr1)

data2 = [[1,2,3],[4,5,6]]

ndarr2 = np.array(data2)

print(ndarr2)

# ndim表示数组的维度

# shape表示维度与元素内部的维度,相当于建立个矩阵,例如data2有两个元素,内部各3个元素,组成2*3的矩阵

# dtype表示数据类型

print(ndarr2.ndim)

print(ndarr2.shape)

print(ndarr2.dtype)

 

控制台:

[1 2 3 4 5 6]

[[1 2 3]

[4 5 6]]

2

(2, 3)

int32

======================================================================================

#数组运算:两个ndarray相同位置的元素进行运算

data3 = [[1,2,3],[4,5,6]]

data4 = [[4,5,6],[7,8,9]]

ndarr3 = np.array(data3)

ndarr4 = np.array(data4)

print(ndarr3 + data4)

print(ndarr3 * ndarr4)

print(ndarr3 - ndarr4)

print(ndarr4 > ndarr3)

 

控制台:

[[ 5 7 9]

[11 13 15]]

[[ 4 10 18]

[28 40 54]]

[[-3 -3 -3]

[-3 -3 -3]]

[[ True True True]

[ True True True]]

======================================================================================

# 基础索引与切片:一维数组

data5 = [1,2,3,4,5,6,7,8,9]

data6 = np.array(data5)

data7 = data6[2:4]

print(data6)

print(data7)

# data7是data6的切片,并且依旧映射data6,不想java或者scala是复制生成新的数组

# 改变data7的某个切片的值,data6中对应的元素也会改变,如果不想这样可以进行copy()操作

# data7 = data6[2:4].copy

data7[1] = 666

print(data7)

print(data6)

 

控制台:

[1 2 3 4 5 6 7 8 9]

[3 4]

[ 3 666]

[ 1 2 3 666 5 6 7 8 9]

======================================================================================

# 基础索引与切片:多维数组

data8 = [[1,2,3],[4,5,6],[7,8,9]]

data9 = np.array(data8)

print(data9[2])

# 确定某个元素中的元素可以用一下两种方法

print(data9[2][1])

print(data9[2,1])

# 多维数组可以对内部数组更新同一个值

data9[0] = 22

print(data9)

data9[0] = [11,11,11]

print(data9)

# 多维数组切片,[:2]打印第二行的前几行,不包括2

# 即使是改变切片的值,跟一维数组相同,都会改变原始与切片对应位置的数组或者元素

print(data1[:2])

print(data1[1][:2])

 

控制台:

[7 8 9]

8

8

[[22 22 22]

[ 4 5 6]

[ 7 8 9]]

[[11 11 11]

[ 4 5 6]

[ 7 8 9]]

[[1, 2, 3], [4, 5, 6]]

[4, 5]

======================================================================================

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值