Python查找最小值二维数组中每一列的值

时间:2020-03-11 04:19:22

标签: python arrays pandas

我有一个2D数组,我想找到最小值。每列中减去该最小值。

例如,

array = [
[1, 2, 4],
[2, 4, 6],
[5, 7, 9]]

列中的最小值是1、2、4。

我希望结果是

array = [
[0, 0, 0],
[1, 2, 2],
[4, 5, 5]]

我该如何实现?

1 个答案:

答案 0 :(得分:2)

如果您使用实数numpy.arraypandas.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