首先创建示例 Dataframe :
import pandas as pd
data = {'num1': [123456789.123456],'num2': [123456789.123456]}
df = pd.DataFrame(data)
df
num1 num2
0 1.234568e+08 1.234568e+08
我想按以下格式显示df
:
num1 num2
0 123456789.12 123456789.1235
df['num1']
四舍五入至两位小数,df['num2']
四舍五入至四位小数。
使用sqlalchemy语法,当df
写入数据库时很简单(这里是代码的一部分):
dtype= {'num1':sqlalchemy.types.DECIMAL(precision=9,scale=2,asdecimal=True),
'num2':sqlalchemy.types.DECIMAL(precision=9,scale=4,asdecimal=True)}
如何编写astype表达式?
df.astype(dtype={'num1':format1,'num2':format2})
1条答案
按热度按时间mm9b1k5b1#
要转换科学记数法并四舍五入到指定的小数位,可以使用panda Dataframe 的apply()方法来格式化每个值。例如,要将df['num1']四舍五入到两位小数,将df['num2']四舍五入到四位小数,可以使用以下代码:
这会将科学记数法中的值转换为十进制格式,并将其四舍五入到指定的小数位。
要使用sqlalchemy语法编写astype表达式,可以使用**sqlalchemy.types.DECIMAL()**函数指定小数列的精度和小数位数。
例如:
这会将“num1”列转换为精度为9、小数位数为2的小数列,将“num2”列转换为精度为9、小数位数为4的小数列。请注意,asdecimal=True参数用于保留值的小数格式。