在Python中,求数组(列表)的长度、求和、剔除特定值、计算统计量(如均值、方差、标准差)等操作可以通过以下方法实现:
一维数组操作
求长度
arr = [1, 2, 3, 4, 5]
length = len(arr)
print(length) 输出:5
求和
arr = [1, 2, 3, 4, 5]
total_sum = sum(arr)
print(total_sum) 输出:15
剔除0值
arr = [1, 0, 3, 0, 5]
filtered_arr = [x for x in arr if x != 0]
print(filtered_arr) 输出:[1, 3, 5]
求均值
arr = [1, 2, 3, 4, 5]
mean = sum(arr) / len(arr)
print(mean) 输出:3.0
求方差
import numpy as np
arr = [1, 2, 3, 4, 5]
variance = np.var(arr)
print(variance) 输出:2.0
求标准差
import numpy as np
arr = [1, 2, 3, 4, 5]
std_dev = np.std(arr)
print(std_dev) 输出:1.30951
二维数组操作
求和
arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
total_sum = sum(sum(row) for row in arr)
print(total_sum) 输出:45
剔除0值
arr = [[1, 0, 3], [0, 5, 0], [7, 8, 9]]
filtered_arr = [[x for x in row if x != 0] for row in arr]
print(filtered_arr) 输出:[[1, 3], , [7, 8, 9]]
求最大值和最大值的索引
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
max_value = np.max(arr)
max_index = np.argmax(arr)
print(max_value, max_index) 输出:9 (0, 2)
三维数组操作
按Z轴取值
import numpy as np
arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
print(arr[:, 1, 2]) 输出:array([ 6, 12])
按Z轴取最大值及最大值的索引
import numpy as np
arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
max_value = np.max(arr, axis=0)
max_index = np.argmax(arr, axis=0)
print(max_value, max_index) 输出:array([11, 12]) array([1, 1])
以上是Python中求数组的一些基本操作示例。您可以根据需要选择合适的方法进行操作