python - 一个 Dataframe 的每一列的最大值和最小值

标签 python list pandas max min

给这个数据框'x':

    col1 col2 col3 col4
    0     5   -2    1 
   -5     2   -1    9
    3    -7    3    5

我如何获得每列的最小值和最大值对的列表?结果将是:
list = [ [-5 , 3], [-7 , 5], [-2 , 3], [1 , 9] ]

最佳答案

您可以定义一个函数并调用 apply传递函数名称,这将创建一个以 min 和 max 作为索引名称的 df:

In [203]:

def minMax(x):
    return pd.Series(index=['min','max'],data=[x.min(),x.max()])


df.apply(minMax)
Out[203]:
     col1  col2  col3  col4
min    -5    -7    -2     1
max     3     5     3     9

如果您坚持使用列表列表,我们可以转置 df 并将值转换为列表:
In [206]:

def minMax(x):
    return pd.Series(index=['min','max'],data=[x.min(),x.max()])


df.apply(minMax).T.values.tolist()
Out[206]:
[[-5, 3], [-7, 5], [-2, 3], [1, 9]]

该函数本身并不是完全必要的,因为您可以使用 lambda 代替:
In [209]:

df.apply(lambda x: pd.Series([x.min(), x.max()])).T.values.tolist()
Out[209]:
[[-5, 3], [-7, 5], [-2, 3], [1, 9]]

另请注意,您可以使用 describe loc得到你想要的:
In [212]:

df.describe().loc[['min','max']]
Out[212]:
     col1  col2  col3  col4
min    -5    -7    -2     1
max     3     5     3     9

关于python - 一个 Dataframe 的每一列的最大值和最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29276301/

相关文章:

python - 如何从 Keras 嵌入层获取词向量

python - 使用python分析抛硬币统计

python - 打印与我要附加到的数组不匹配

python - 如何创建递增组列计数器

python - 如何在groupby pandas之后计算组内的值

python - 根据pygame中的点击更改图像

list - 如何在 Haskell 中换行打印列表的一部分

python - 在字符串列表中搜索的高效且最快的方法

python - 具有零值的 Pandas 汇总表

python - pytorch中引入nn.Parameter的目的