Numpy数据分析练习(1-10)

Numpy数据分析问答

1、导入numpy作为np,并查看版本

import numpy as np
print(np.__version__)
# > '1.15.4'

2、如何创建一维数组

arr = np.arange(10)

3、创建一个布尔数组

np.full((3,3),True, dtype=bool)
#或者
np.ones((3,3), dtype=bool)

4、如何从一维数组中提取满足制定条件的元素?

#input
arr = np.arange(10)
#solution
arr[arr %2 == 1]
#output
> array([1, 3, 5, 7, 9])

5、如何从一维数组中提取满足制定条件的元素?

问题:将arr中的所有奇数替换为-1

#input
arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
#solution
arr[arr %2 == 1] = -1
#output
> array([ 0, -1,  2, -1,  4, -1,  6, -1,  8, -1])

6、如何在不影响原始数组的情况下替换满足条件的元素项?

问题:将arr中的所有奇数替换为-1,而不改变arr。

#input
arr = np.arange(10)
#solution
out = np.where(arr % 2 == 1, -1, arr)
#output
arr
>  array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
out
>  array([ 0, -1,  2, -1,  4, -1,  6, -1,  8, -1])

7、如何改变数组的形状

问题:将一维数组转换为2行的2维数组

arr = np.arange(10)
#solution
arr.reshape(2,-1)#-1 自动算第二维的元素个数
# > array([[0, 1, 2, 3, 4],
# >        [5, 6, 7, 8, 9]])

8、如何垂直叠加两个数组

问题: 垂直叠加数组a和数组b

a = np.arange(10).reshape(2,-1)
b = np.repeat(1,10).reshape(2,-1)
#method1
np.concatenate([a,b], axis = 0)
#method2
np.vstack([a,b])
#method3 
np.r_[a,b]
#output
# > array([[0, 1, 2, 3, 4],
# >        [5, 6, 7, 8, 9],
# >        [1, 1, 1, 1, 1],
# >        [1, 1, 1, 1, 1]])

9、如何水平叠加两个数组

问题: 将数组a和数组b水平堆叠

a = np.arange(10).reshape(2,-1)
b = np.repeat(1,10).reshape(2,-1)
#method1
np.contactenate([a,b],axis=1)
#method2
np.hstack([a,b])
#method3
np.r_[a,b]
#output
# > array([[0, 1, 2, 3, 4, 1, 1, 1, 1, 1],
# >        [5, 6, 7, 8, 9, 1, 1, 1, 1, 1]])

10、如何在无硬编码的情况下生成numpy中的自定义序列

问题: 创建以下模式,而不使用硬编码。只是用numpy函数和下面的输入数组a.

#input
a = np.array([1,2,3])
#aspect output
# > array([1, 1, 1, 2, 2, 2, 3, 3, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3])
#solution
np.r_[np.repeat(a, 3), np.tile(a, 3)]
#output
# > array([1, 1, 1, 2, 2, 2, 3, 3, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值