ผลลัพธ์สำหรับการแปลงเซลเซียสเป็นฟาเรนไฮต์เป็น,
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