可以使用 collections 模块中的 Counter 类来统计数组中不同数据的数量。
示例代码:
from collections import Counter
arr = [1, 2, 3, 1, 2, 4, 5, 3, 2, 1]
count = Counter(arr)
for num, freq in count.items():
print(f"{num}: {freq}")
输出结果:
1: 3
2: 3
3: 2
4: 1
5: 1
其中 count 是一个 Counter 对象,可以使用它的 items() 方法获取每个数据及其出现的次数,然后输出即可。
可以使用内置函数 max()
和 min()
来计算数组中的最大值和最小值。
示例代码:
arr = [1, 2, 3, 4, 5]
max_val = max(arr)
min_val = min(arr)
print(f"最大值:{max_val}")
print(f"最小值:{min_val}")
输出结果:
最大值:5
最小值:1
也可以使用 NumPy 模块中的 np.max()
和 np.min()
函数来实现更多功能。
示例代码:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
max_val = np.max(arr)
min_val = np.min(arr)
print(f"最大值:{max_val}")
print(f"最小值:{min_val}")
输出结果与前面的示例相同。
可以使用 Python 中的 collections 模块中的 Counter 类进行统计数组中不同数据的数量,然后计算每个数据出现的占比。
示例代码:
from collections import Counter
arr = [1, 2, 3, 2, 1, 4, 5, 4]
# 使用 Counter 类统计每个元素的数量
counter = Counter(arr)
# 计算数组中不同数据的数量
diff_num = len(counter)
# 计算每个元素的占比
percentages = {num: count / len(arr) for num, count in counter.items()}
print("数组中不同数据的数量:", diff_num)
print("每个元素的占比:", percentages)
输出结果:
数组中不同数据的数量: 5
每个元素的占比: {1: 0.25, 2: 0.25, 3: 0.125, 4: 0.25, 5: 0.125}
这里采用了字典的方式存储每个元素的占比。键为元素的值,值为该元素出现的频率。
可以使用切片(slice)来指定数组的范围,切片的语法为:
array[start:stop:step]
其中:
start
:切片的起始下标,包括该下标对应的元素。stop
:切片的结束下标,不包括该下标对应的元素。step
:切片的步长,表示每隔几个元素取一个。
例如,假设有一个数组 arr
:
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
要遍历其中下标从 2 到 5 的元素,可以这样写:
for i in arr[2:6]:
print(i)
输出结果为:
3
4
5
6
注意,切片时,如果省略了 start
或 stop
,则默认取数组的起始或结束位置;如果省略了 step
,则默认取每隔一个元素。同时,数组的下标是从 0 开始的,因此 arr[2:6]
表示的是下标为 2、3、4、5 的四个元素。