用 Python 编写程序以生成从 1 到 100 的 30 个元素的随机数组,并计算数据帧中每行的最大值和最小值
通过每行的最小值生成数据帧最大值的结果是
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))
df.apply在lambda方法中创建函数以计算/轴为1并保存为max_of_min。它定义如下,np.max(x)np.min(x)
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