用 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