如何将对象转换为Pandas中的浮动?

2024-06-09 16:37:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我将csv文件读入pandas数据框,并将所有列类型作为对象。我需要将第二列和第三列转换为float

我试着用

df["Quantidade"] = pd.to_numeric(df.Quantidade, errors='coerce')

但是我得到了NaN

这是我的数据框。我是否需要在第三列中使用一些正则表达式来去掉“R$”

enter image description here


Tags: 文件csvto数据对象类型pandasdf
3条回答

试试这个:

# sample dataframe
d = {'Quantidade':['0,20939', '0,0082525', '0,009852', '0,012920', '0,0252'],
     'price':['R$ 165.000,00', 'R$ 100.000,00', 'R$ 61.500,00', 'R$ 65.900,00', 'R$ 49.375,12']}
df = pd.DataFrame(data=d)
# Second column
df["Quantidade"] = df["Quantidade"].str.replace(',', '.').astype(float)

#Third column
df['price'] = df.price.str.replace(r'\w+\$\s+', '').str.replace('.', '')\
                   .str.replace(',', '.').astype(float)

输出:

Quantidade  price
0   0.209390    165000.00
1   0.008252    100000.00
2   0.009852    61500.00
3   0.012920    65900.00
4   0.025200    49375.12

试着这样做:

df["Quantidade"] = df["Quantidade"].str.replace(',', '.').astype(float)

df['Quantidade']=df['Quantidade'].aType(浮点)

相关问题 更多 >