Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

เขียนโปรแกรมใน Python เพื่อสร้างอาร์เรย์สุ่ม 30 องค์ประกอบจาก 1 ถึง 100 และคำนวณสูงสุดโดยต่ำสุดในแต่ละแถวใน dataframe


ผลลัพธ์สำหรับการสร้าง dataframe สูงสุดโดยขั้นต่ำของแต่ละแถวคือ

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

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนด้านล่าง -

โซลูชันที่ 1

  • กำหนด dataframe ด้วยขนาด 30 องค์ประกอบสุ่มจาก 1 ถึง 100 และปรับรูปร่างอาร์เรย์ใหม่ (6,5) เพื่อเปลี่ยนอาร์เรย์ 2 มิติ

df = pd.DataFrame(np.random.randint(1,100,30).reshape(6,5))
  • สร้างฟังก์ชัน df.apply ภายในวิธีแลมบ์ดาเพื่อคำนวณ np.max(x)/np.min(x) โดยมีแกนเป็น 1 และบันทึกเป็น 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