用Python Pandas编写程序以将数据帧的Celsius数据列转换为华氏度

将摄氏温度转换为华氏温度的结果是,

 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”列值定义一个数据框

  • df.assign在写入lambda函数内部应用函数以通过乘以(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)

解决方案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

以上是 用Python Pandas编写程序以将数据帧的Celsius数据列转换为华氏度 的全部内容, 来源链接: utcz.com/z/320104.html

回到顶部