使用pd.to_numeric(),注意需要设置errors="coerce",可以将字符串、None、NaN等都变为数字,最后的整列都会是数字类型
案例import pandas as pd
df = pd.Dataframe([
[1, 2, None],
[1, 2, 3],
["None", 2.3, None],
[3, 2.1, "haha"],
], columns=["a", "b", "c"])
for col in df.columns:
df[col] = pd.to_numeric(df[col], errors="coerce")
print(df)
最后的效果是:
原始dataframe : 变化后的dataframe:


