我有一个2D数组,我想找到最小值。每列中减去该最小值。
例如,
array = [
[1, 2, 4],
[2, 4, 6],
[5, 7, 9]]
列中的最小值是1、2、4。
我希望结果是
array = [
[0, 0, 0],
[1, 2, 2],
[4, 5, 5]]
我该如何实现?
答案 0 :(得分:2)
如果您使用实数numpy.array
或pandas.DataFrame
,则您有arr.min(axis=0)
和arr - arr.min(axis=0)
对于numpy.array
import numpy as np
data = [
[1, 2, 4],
[2, 4, 6],
[5, 7, 9]
]
arr = np.array(data)
print( arr.min(axis=0) )
print( arr - arr.min(axis=0) )
结果
[1 2 4]
[[0 0 0]
[1 2 2]
[4 5 5]]
类似于pandas.DataFrame
import pandas as pd
data = [
[1, 2, 4],
[2, 4, 6],
[5, 7, 9]
]
df = pd.DataFrame(data)
print( df.min(axis=0) )
print( df - df.min(axis=0) )
结果
0 1
1 2
2 4
dtype: int64
0 1 2
0 0 0 0
1 1 2 2
2 4 5 5