python数组处理方法

一、数组对象的属性

数组的大小(元素个数)
array.size

数组的维度
array.ndim

数组元素的数据类型
array.dtype

数组的形状
array.shape

数组中每个元素占用的内存空间
array.itemsize

数组所有元素占用的内存空间(字节)
array.nbytes

数组转置
array.T

数组的形状
array.shape

二、数组的索引运算

# 普通索引 - index
array15 = np.random.randint(0, 100, 10)
array15
array([51, 52, 46,  4, 58, 55, 40, 98, 75,  3])

array15[0] = 100
array15
array([100,  52,  46,   4,  58,  55,  40,  98,  75,   3])

array15[-1] = 200
array15
array([100,  52,  46,   4,  58,  55,  40,  98,  75, 200])

# 花式索引 - fancy index
array15[[1, 2, 5, 1, 1, -1]]
array([ 52,  46,  55,  52,  52, 200])

array16 = np.arange(1, 10).reshape((3, 3))
array16
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])

array16[1]
array([4, 5, 6])

array16[1][1]
5
二维数组的索引运算
# 二维数组的索引运算
array16[1, 1]
5

array16[-1, 1]
8
# 二维数组的花式索引
array16[[0, 1, 1, 2], [0, 1, 2, 0]]
array([1, 5, 6, 7])

array16[[0, 1, 1, 2]]
array([[1, 2, 3],
       [4, 5, 6],
       [4, 5, 6],
       [7, 8, 9]])

# 布尔索引 - 用放布尔类型的数组或列表充当索引 - True对应的元素保留,False对应的元素去除
array15[[True, False, False, True, False, True, True, False, False, False]]
array([100,   4,  55,  40])

array15 > 50
array([ True,  True, False, False,  True,  True, False,  True,  True,
        True])

array15[array15 > 50]
array([100,  52,  58,  55,  98,  75, 200])

array15 % 2 != 0
array([False, False, False, False, False,  True, False, False,  True,
       False])

array15[array15 % 2 != 0]
array([55, 75])

(array15 > 50) & (array15 % 2 != 0)
array([False, False, False, False, False,  True, False, False,  True,
       False])

array15[(array15 > 50) & (array15 % 2 != 0)]
array([55, 75])

array15[(array15 > 50) | (array15 % 2 != 0)]
array([100,  52,  58,  55,  98,  75, 200])

array15[(array15 > 50) & ~(array15 % 2 != 0)]
array([100,  52,  58,  98, 200])

array15[(array15 > 50) & (array15 % 2 == 0)]
array([100,  52,  58,  98, 200])

array16[array16 > 5]
array([6, 7, 8, 9])

# 切片索引
array15[1:5]
array([52, 46,  4, 58])

array15[1:5:2]
array([52,  4])

array15[-3:-8:-1]
array([98, 40, 55, 58,  4])






array16
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])

array16[:2, 1:]
array([[2, 3],
       [5, 6]])

array16[2]
array([7, 8, 9])

array16[2, :]
array([7, 8, 9])

array16[2:, :]
array([[7, 8, 9]])

array16[::2, ::2]
array([[1, 3],
       [7, 9]])

三、数组对象的方法

源数据

array17 = np.random.randint(200, 500, 12)

array([351, 293, 272, 284, 243, 339, 461, 322, 214, 429, 339, 439])

# 和
array17.sum()
3986
np.sum(array17)
3986

# 算术平均
array17.mean()
332.1666666666667
np.mean(array17)
332.1666666666667

# 中位数
np.median(array17)
330.5
np.quantile(array17, 0.5)
330.5

# 最大值
array17.max()
461
np.amax(array17)
461

# 最小值
array17.min()
214
np.amin(array17)
214

# 极差(peak-to-peak)
array17.ptp()
247
np.ptp(array17)
247

# IQR(四分位距离)
q1, q3 = np.quantile(array17, [0.25, 0.75])
iqr = q3 - q1
iqr

# IQR(四分位距离)
q1, q3 = np.quantile(array17, [0.25, 0.75])
iqr = q3 - q1
iqr
89.5

# 方差
array17.var()
5610.63888888889
np.var(array17)
5610.63888888889

# 标准差
array17.std()
74.90419807253055
np.std(array17)
74.90419807253055

# 累积和(cumulative sum)
array17.cumsum()
array([ 351,  644,  916, 1200, 1443, 1782, 2243, 2565, 2779, 3208, 3547,
       3986])


array19 = np.array([1, 0, 2, 3, 0, 0, 4, 5])
array19
array([1, 0, 2, 3, 
  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喆子玩点数据

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值