为CSV中的熊猫指定各个字段的小数位数

Car*_*own 2 python csv floating-point pandas

我正在使用pandas to_csv函数,并想指定浮点数的小数位数。但是,我希望根据现场情况对此进行更改。

例如:

我的数据集如下所示:

sampleID     Call     X      Y 
1234         0.1234   0.123  0.123
Run Code Online (Sandbox Code Playgroud)

我希望“呼叫”列始终具有4个小数位,而X和Y始终具有3个小数位。

最初,我会在to_csv中使用float_format参数,但这仅在所有浮点都以相同方式处理时才适用。如何为各个列指定位数?

Way*_*ker 5

您可以先将列四舍五入,然后另存为CSV。如果需要精度,则可以复制DataFrame以保留原始DataFrame中的精度。

df['X'] = df['X'].round(3)
df['Y'] = df['Y'].round(3)
df.to_csv('file.csv')
Run Code Online (Sandbox Code Playgroud)