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

เขียนโปรแกรมใน Python Pandas เพื่อแปลงคอลัมน์ดาต้าเฟรมเซลเซียสเป็นฟาเรนไฮต์


ผลลัพธ์สำหรับการแปลงเซลเซียสเป็นฟาเรนไฮต์เป็น,

 Id Celsius Fahrenheit
0 1  37.5    99.5
1 2  36.0    96.8
2 3  40.0    104.0
3 4  38.5    101.3
4 5  39.0    102.2

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

โซลูชันที่ 1

  • กำหนด dataframe ด้วยค่าคอลัมน์ 'Id' และ 'Celsius'

  • ใช้ฟังก์ชัน df.assign ภายในเขียนฟังก์ชันแลมบ์ดาเพื่อแปลงค่าเซลเซียสโดยการคูณ (9/5)*df[celsius]+32 แล้วกำหนดให้กับฟาเรนไฮต์ ถูกกำหนดไว้ด้านล่าง -

df.assign(Fahrenheit = lambda x: (9/5)*x['Celsius']+32)

ตัวอย่าง

มาตรวจสอบรหัสต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

import pandas as pd
df = pd.DataFrame({'Id':[1,2,3,4,5],
                     'Celsius':[37.5,36,40,38.5,39]
                  })
print("DataFrame is\n",df)
df = df.assign(Fahrenheit = lambda x: (9/5)*x['Celsius']+32)
print(df)

ผลลัพธ์

DataFrame is
 Id Celsius
0 1 37.5
1 2 36.0
2 3 40.0
3 4 38.5
4 5 39.0
 Id Celsius Fahrenheit
0 1  37.5    99.5
1 2  36.0    96.8
2 3  40.0    104.0
3 4  38.5    101.3
4 5  39.0    102.2

โซลูชันที่ 2

  • กำหนด dataframe ด้วยค่าคอลัมน์ 'Id' และ 'Celsius'

  • ตั้งค่าฟังก์ชัน df.apply ภายในการเขียนฟังก์ชันแลมบ์ดาเพื่อแปลงค่าเซลเซียสโดยการคูณ (9/5)*df[celsius]+32 และบันทึกเป็น df[Fahrenheit] มีการกำหนดไว้ด้านล่าง

df['Fahrenheit'] = df.apply(lambda x: (9/5)*x['Celsius']+32,axis=1)

ตัวอย่าง

มาตรวจสอบรหัสต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

import pandas as pd
df = pd.DataFrame({'Id':[1,2,3,4,5],
                     'Celsius':[37.5,36,40,38.5,39]
                  })
print("DataFrame is\n",df)
df['Fahrenheit'] = df.apply(lambda x: (9/5)*x['Celsius']+32,axis=1)
print(df)

ผลลัพธ์

DataFrame is
 Id Celsius
0 1 37.5
1 2 36.0
2 3 40.0
3 4 38.5
4 5 39.0
 Id Celsius Fahrenheit
0 1  37.5    99.5
1 2  36.0    96.8
2 3  40.0    104.0
3 4  38.5    101.3
4 5  39.0    102.2