TL;DR
Ich verarbeite Numpy und Pandas verteilt und sie stimmen nicht überein. Warum also? Ich werde eine Notiz hinterlassen, weil es wurde.
Testen Sie mit einer einfachen, zufällig generierten Matrix. Es passt nicht wirklich zusammen.
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
Wenn ich die Dokumentation tatsächlich überprüfe, ist numpy.var standardmäßig "ddof = 0". , Pandas.DataFrame.var ist standardmäßig "ddof = 1" ..
Wenn Sie die Standardwerte ausrichten, stimmen die Ergebnisse überein.
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
Ich dachte, dass die Berechnungsergebnisse nicht übereinstimmen würden, aber tatsächlich gab es einen kleinen Unterschied zwischen Numpy und Pandas. Ich möchte, dass Sie es vereinheitlichen, aber ich werde ein Memo veröffentlichen, falls jemand davon abhängig ist.
Recommended Posts