Python 如何使用lambda和apply将对象转换为panda中的float

Python 如何使用lambda和apply将对象转换为panda中的float,python,pandas,lambda,apply,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

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

如果要使用
lambda
,则需要使用
()

如果不使用
lambda
,则使用不带
()

但是你可以用

.astype(float)


您可以使用此选项将浮点熊猫系列格式化为int pandas系列,您可以对任何类型的数据进行重用:

for col,items in DataFrame.iteritems():
    colitems = DataFrame[col]
    if colitems.apply(lambda x: isinstance(x,float) ).any() == True:
        DataFrame[col] = DataFrame[col].astype(int)

搜索
df.convert_dtypes()
如果要使用lamba,则使用
()
类似
apply(lambda行:float(行))
。或者直接
应用(浮动)
而不使用
lambda
()
。但它可能需要更为“as_”的类型(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)
for col,items in DataFrame.iteritems():
    colitems = DataFrame[col]
    if colitems.apply(lambda x: isinstance(x,float) ).any() == True:
        DataFrame[col] = DataFrame[col].astype(int)