import pandas as pd
df = pd.DataFrame([["one", 1.2, "", "4,3"],
["two","1,7", "2,4", 0.55],
["three","", 5.4, "3,9"]],
columns=['a','b','c','d'])
如何将B列中的逗号替换为D到D点并使这些列数字?A列(或任何数量的领先列(应保留不变(也可以包含逗号(
import re
for col in ['b', 'c', 'd']:
df[col] = pd.to_numeric(df[col].apply(lambda x: re.sub(',', '.', str(x))))
只是此主题的更新:
Pandas现在添加了replace
方法,因此我们可以避免使用lambda。
df.replace(to_replace=",", value=".", regex=True)