数据分析之Numpy常用方法【array_equal()、unique()】

np.array_equal()

  • 1、该方法可以检查两个数组是否具有相同的形状和元素。
  • 2、该方法还可用在数组和列表之间、列表与列表间的比较
# 一维数组,或者列表
a = np.array([1, 3, 5, 7, 9])
b = np.array([2, 4, 6, 8, 0])

list_a = [1, 3, 5, 7, 9]  # 列表,在python中一维数组被称为列表,numpy则叫做数组
list_b = [2, 4, 6, 8, 0]

copy_a = np.array([1, 3, 5, 7, 9])

# 不同位数的数组
c = np.array([1, 3, 5])

# 二维数组
arr1 = np.array([[1, 3, 5], [2, 4, 6]])
arr2 = np.array([[1, 3, 5], [2, 4, 6]])
arr3 = np.array([[2, 4, 6], [1, 3, 5]])

print("数组和数组比较:{}".format(np.array_equal(a, b)))  # 数组和数组比较
print("数组和列表比较:{}".format(np.array_equal(a, list_a)))  # 数组和列表比较
print("不同位数的数组比较:{}".format(np.array_equal(a, c)))  # 不同位数的数组比较
print("二维数组间的比较:{}==={}".format(np.array_equal(arr1, arr2), np.array_equal(arr1, arr3)))
print("不同维度数组的比较:{}".format(np.array_equal(a, arr1)))
输出:
数组和数组比较:False
数组和列表比较:True
不同位数的数组比较:False
二维数组间的比较:True===False
不同维度数组的比较:False

np.unique()

  • 注意,该方法排序后,会对数组重新进行排序
a = np.array([6, 5, 7, 3, 6, 3, 4, 3, 9, 3, 0, 6])
arr_1 = np.array([[3, 2, 3, 6], [3, 0, 3, 8], [3, 2, 3, 6]])
print(a)
print(np.unique(a))
print("="*40)

print(arr_1)
print("-"*20)
print(np.unique(arr_1, axis=0))
print("-"*20)
print(np.unique(arr_1, axis=1))
print("="*40)
输出
[6 5 7 3 6 3 4 3 9 3 0 6]
[0 3 4 5 6 7 9]
========================================
[[3 2 3 6]
 [3 0 3 8]
 [3 2 3 6]]
--------------------
[[3 0 3 8]
 [3 2 3 6]]
--------------------
[[2 3 6]
[0 3 8]
[2 3 6]]
========================================
arr_1 = np.array([[3, 0, 3, 6], [3, 2, 3, 8], [3, 0, 3, 6]])

print(arr_1)
print("-"*20)
print(np.unique(arr_1, axis=0))
print("-"*20)
print(np.unique(arr_1, axis=1))
输出:
[[3 0 3 6]
 [3 2 3 8]
 [3 0 3 6]]
--------------------
[[3 0 3 6]
 [3 2 3 8]]
--------------------
[[0 3 6]
 [2 3 8]
 [0 3 6]]
上一篇:PyPackage01---Pandas13_比较两个df是否一致


下一篇:开源组件:DEMO学习-DWinterTabDemo:自定义tab+viewpager