用 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

  • 使用 ‘Id’ 和 ‘Celsius’ 列值定義資料幀

  • 在編寫 lambda 函式內應用 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

  • 使用 ‘Id’ 和 ‘Celsius’ 列值定義資料幀

  • 設定 df.apply 函式在編寫 lambda 函式內,方法是透過將 (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

更新時間: 25-Feb-2021

3 千次以上訪問

事業起步

完成課程獲得認證

開始學習
廣告