我如何使用lambda将对象转换为漂浮在熊猫中并应用

时间:2020-07-27 23:20:37

标签: python pandas lambda apply

我需要使用apply和lambda将“ Ping(ms)”和“ Download(Mbit / s)”从对象类型转换为浮点类型。两列均包含十进制数字。

谢谢

我没有收到任何错误,但没有转换!

# Code Cell 14
# this disables a notebook warning that is not relevant for our use case
pd.options.mode.chained_assignment = None
#df_compact.dtypes
# Convert Ping and Download to float
df_compact_clean["Ping (ms)_float"]=df_compact["Ping (ms)"].apply(lambda row:float)
)
df_compact_clean["Download (Mbit/s)_float"] =df_compact["Download (Mbit/s)"].apply(lambda row: float)

2 个答案:

答案 0 :(得分:1)

如果要使用lambda,则需要()的功能

.apply(lambda row: float(row))

如果您在不使用lambda的情况下使用它,那么请在不使用()的情况下使用功能

.apply(float)

但您可以使用

.astype(float)

import pandas as pd

data = {
    'A': ['1', '2', '3'],
    'B': ['4', '5', '6'],
    'C': ['7', '8', '9']
}

df = pd.DataFrame(data)
print(df)
print(df.dtypes)

df['A'] = df['A'].apply(lambda row: float(row))
df['B'] = df['B'].apply(float)
df['C'] = df['C'].astype(float)

print(df)
print(df.dtypes)

答案 1 :(得分:0)

您可以使用它来将 float pandas 系列格式化为 int pandas 系列,您可以重用任何类型的数据:

from playsound import playsound

# Put this wherever you want the sound to play
playsound('path-to-your-file.mp3')