Ich möchte wissen, wie ich die Anzahl der signifikanten Ziffern über das Komma erhöhen kann. Das ursprüngliche "rf" numpy-Array enthält Gleitkommazahlen.Erhöhen Sie die signifikanten Ziffern in Numpy
import numpy as np
rf=daily_rets(df)
[ 7.11441183 7.12383509 7.13325787 7.16152716 7.17094994 7.17094994 7.18979692 7.18979692 7.19921923 7.19921923 7.19921923 7.19921923 7.19921923 7.19921923 7.19921923 7.20864296 7.20864296 7.20864296 7.20864296 7.20864296]
Aber wenn ich die Operation durchführen erhalte ich eine unerwünschte Ausgabe
rf[0:]=(1+rf[0:]/100)**(1/252)
ich die folgende Ausgabe [1. 1. 1. 1. 1. 1. 1. 1. 1 erhalten. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
np.around() auch nicht mir die gleiche Ausgabe wie oben
rf[0:]=np.around((1+rf[0:]/100)**(1/252), decimals=6)
hilft geben
Ich weiß, die obige Operation würde die Zahlen sehr klein machen, immer noch möchte ich die Zahlen jenseits von Dezimalzahlen erscheinen
Mögliches Duplikat der [Python division] (http://stackoverflow.com/questions/2958684/python-division) – ayhan
In Python 3 ist dies das Ergebnis, das ich mit '(1 + rf [0:]/100) erhalten habe ** (1/252) 'angewendet auf die ersten vier Elemente:' array ([1.00027276, 1.00027311, 1.00027346, 1.00027451]) 'Ihr Problem liegt an der Division durch ganze Zahlen. Sie können es reparieren, indem Sie floats '(1 + rf [0:]/100.0) ** (1/252.0)' oder mit anderen Methoden in der verknüpften Frage verwenden. – ayhan
Das Problem besteht immer noch. Ich habe versucht, was Sie vorgeschlagen, ich bekomme die gleiche Ausgabe –