Python 統計配列内のさまざまなデータの数と割合、最大値と最小値

コレクション モジュールの 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 のコレクション モジュールの 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}

ここでは、各要素の割合を格納するために辞書が使用されます。キーは要素の値であり、値は要素が出現する頻度です。

スライスを使用して配列の範囲を指定できます。スライスの構文は次のとおりです。

array[start:stop:step]

で:

  • start: スライスの開始添え字。添え字に対応する要素を含みます。
  • stop: スライスの末尾の添え字。添え字に対応する要素は除きます。
  • step: スライスのステップ サイズ。これは、いくつかの要素ごとに 1 つを取得することを意味します。

たとえば、配列があるとします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 の 4 つの要素を表します。

おすすめ

転載: blog.csdn.net/songpeiying/article/details/132488579