我需要使用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)
答案 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')