我有一个dataframe,它的值如下:
dataframe
propvalue 3000.2343 4000.4334554
该列是字符串(str)类型。怎么能在小数点后只留下两位小数呢?期望:
propvalue 3000.23 4000.43
我研究过,似乎是这样的:
df['propvalue'] = df['propvalue'].replace('\..*','',regex=True)
但是上面删除了点之后的所有内容。我需要留下两位数。
8i9zcol21#
试试这个:
df['propvalue'] = df['propvalue'].astype(float).round(2)
使用Regex的其他解决方案:
import re df['propvalue'] = df['propvalue'].apply(lambda x: round(float(re.findall('\d+\.\d+', x)[0]), 2))
1条答案
按热度按时间8i9zcol21#
试试这个:
使用Regex的其他解决方案: