python数据分析——numpy基础(四)

1、元素的重复操作(repeat与tail)
repeat是元素级别的,tail是数组级别的

print('Repeat: 按元素')
arr = np.arange(3)
print(arr)
print(arr.repeat(3))
print(arr.repeat([2, 3, 4])) # 3个元素,分别复制2, 3, 4次。长度要匹配!
print

print('Repeat,指定轴')
arr = np_random.randn(2, 2)
print(arr)
print(arr.repeat(2, axis = 0))# 按行repeat
print(arr.repeat(2, axis = 1))# 按列repeat
print

print('Tile: 参考贴瓷砖')
print(np.tile(arr, 2))
print(np.tile(arr, (2, 3)))  # 指定每个轴的tile次数
# 结果
Repeat: 按元素
[0 1 2]
[0 0 0 1 1 1 2 2 2]
[0 0 1 1 1 2 2 2 2]
Repeat,指定轴
[[-0.66497955  0.86825718]
 [ 0.35759952 -0.44069729]]
[[-0.66497955  0.86825718]
 [-0.66497955  0.86825718]
 [ 0.35759952 -0.44069729]
 [ 0.35759952 -0.44069729]]
[[-0.66497955 -0.66497955  0.86825718  0.86825718]
 [ 0.35759952  0.35759952 -0.44069729 -0.44069729]]
Tile: 参考贴瓷砖
[[-0.66497955  0.86825718 -0.66497955  0.86825718]
 [ 0.35759952 -0.44069729  0.35759952 -0.44069729]]
[[-0.66497955  0.86825718 -0.66497955  0.86825718 -0.66497955  0.86825718]
 [ 0.35759952 -0.44069729  0.35759952 -0.44069729  0.35759952 -0.44069729]
 [-0.66497955  0.86825718 -0.66497955  0.86825718 -0.66497955  0.86825718]
 [ 0.35759952 -0.44069729  0.35759952 -0.44069729  0.35759952 -0.44069729]]

2、take与put——花式索引

# 花式索引
arr = np.arange(10) * 100
inds = [7, 1, 2, 6]
print(arr[inds])
# 与上面的等价
print(arr.take(inds))

# 使用put更新内容
arr.put(inds, 50)
print(arr)
arr.put(inds, [70,10,20,60])
print(arr)

arr = np_random.randn(2,4)
inds = [2, 0, 2, -1]
print(arr)
# 指定轴 按照列进行 该列输出 第二列 第0列 第2列 最后一列的数
print(arr.take(inds, axis=1))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值