用 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
广告