TL;DR
Je fais du traitement distribué de numpy et pandas, et ils ne correspondent pas, alors pourquoi? Je vais laisser un mot car c'est devenu.
Testez avec une matrice simple, générée aléatoirement. Cela ne correspond pas vraiment.
import numpy as np
import pandas as pd
X = np.random.randn(10, 10)
df = pd.DataFrame(data=X)
np.allclose(X, df.values)
# True
X_var = np.var(X, axis=1)
df_var = df.var(axis=1)
np.allclose(X_var, df_var.values)
# False
Quand je vérifie réellement la documentation, numpy.var est par défaut «ddof = 0». , Pandas.DataFrame.var vaut par défaut ddof = 1
..
Si vous alignez les valeurs par défaut, les résultats correspondent.
X_var_ddof1 = np.var(X, ddof=1, axis=1)
df_var_ddof1 = df.var(axis=1)
np.allclose(X_var_ddof1, df_var_ddof1.values)
# True
Je pensais que les résultats du calcul ne correspondraient pas, mais en fait, il y avait une légère différence entre numpy et pandas. J'aimerais que vous l'unifiez, mais je publierai un mémo au cas où quelqu'un en serait accro.
Recommended Posts