MorvanZhou/morvanzhou.github.io

一个关于pandas的问题

Closed this issue · 0 comments

由于没有找到别的联系您的方式,只好在github提一个issue来问问题了。说的有点啰嗦,感谢。。
现在是这样的,这里是一组原始数据(从excel中直接读取出来的),可以看到单位净值这里是4位小数(疑问①)

基金代码 日期 单位净值
735032 2019-09-19 1.1200
735033 2019-09-20 2.1290
736005 2019-09-19 0.5520
735057 2019-09-19 0.9750
736021 2019-09-19 1.0491
735032 2019-09-14 1.1290

当我使用 df2 = df[df["基金代码"]==735032] 这个过滤条件进行过滤的时候,过滤出来的数据是这样的:
基金代码 日期 单位净值
0 735032 2019-09-19 1.120
5 735032 2019-09-14 1.129
可以看到这里就变成了3位小数了(疑问②)

疑问①:因为我的excel中的原始数据都是4位的,不足的补0,但是这里pd读取出来之后展示的逻辑好像是根据最长的小数位来进行显示的(因为我把Excel中的部分数据的末尾的0删除了之后,pd读取的结果和现在是一样的),我应该怎么用代码设置显示N位小数呢,N>4 ,使用round(decimals) 只能设置小于4位

疑问②:我使用过滤条件之后,显示的数据格式(比如小数位数),能不能跟之前pd读取出来的一致呢,因为我最后是想把过滤出来的数据导出到一个新的excel中,我并不知道哪些数据需要保留多少位。

实在感谢,说的有点啰嗦,