用 Python 编写一个程序,生成一个包含 30 个元素的随机数组,元素范围从 1 到 100,并计算数据框中每行的最大值和最小值

pythonpandasserver side programmingprogramming

生成数据框中每行的最大值和最小值的结果是

0    43.000000
1    1.911111
2    2.405405
3    20.000000
4    7.727273
5    6.333333

为了解决这个问题,我们将遵循下面给出的步骤 −

解决方案 1

  • 定义一个大小为 30 个随机元素(从 1 到 100)的数据框,并通过 (6,5) 重塑数组以更改二维数组

df = pd.DataFrame(np.random.randint(1,100,30).reshape(6,5))
  • 在 lambda 方法中创建 df.apply 函数,以轴为 1 计算 np.max(x)/np.min(x) 并保存为 max_of_min。它的定义如下,

max_of_min = df.apply(lambda x: np.max(x)/np.min(x), axis=1)
  • 最后打印 max_of_min

示例

让我们检查以下代码以获得更好的理解 −

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randint(1,100,30).reshape(6,5))
print("Dataframe is:\n",df)
max_of_min = df.apply(lambda x: np.max(x)/np.min(x), axis=1)
print("maximum by minimum of each row:\n",max_of_min)

输出

Dataframe is:
   0  1  2  3  4
0  2 13  4 15 86
1 60 53 86 75 45
2 37 85 40 89 88
3 67 33 80  4 74
4 85 71 11 67 81
5 56 85 95 15 94
maximum by minimum of each row:
0    43.000000
1    1.911111
2    2.405405
3    20.000000
4    7.727273
5    6.333333
dtype: float64

相关文章