2017-02-01 5 views
4

Wie kann ich sehen, welche dtypes in einem Pandas Datenrahmen nicht gleich sind?pandas dataframe dtypes vergleichen gleichheit

I.e. Warum also df1.dtypes.equals(df2.dtypes) kehrt False

+1

Wenn die Datenrahmen Spalten gleich sind beschriftet und sind in der Anzahl der Spalten gleich, dann wird 'df1.dtypes == df2.dtypes' ein boolesches Array mit den Spaltennamen als Index und dem booleschen Wert in der Spalte – EdChum

+0

Danke zurückgeben. Das ist die Lösung –

+0

OK, ich werde eine Antwort posten, damit diese Frage als beantwortet markiert wird – EdChum

Antwort

3

lange, wie die Spaltennamen übereinstimmen, und Sie haben die gleiche Anzahl von Spalten, um herauszufinden, dann können Sie nur die vergleichen dtypes direkt:

In [152]: 
df1 = pd.DataFrame({'int':np.arange(5), 'flt':np.random.randn(5)}) 
df2 = pd.DataFrame({'int':np.random.randn(5), 'flt':np.random.randn(5)}) 
df1.dtypes == df2.dtypes 

Out[152]: 
flt  True 
int False 
dtype: bool 
+0

Gute Antwort. Hoffe, dass Sie bald 100k schlagen :) –

+0

@MadPhysicist Ich bin nur für die [Swag] (http://meta.stackoverflow.com/questions/291791/what-do-i-get-with-100k-reputation) – EdChum

+0

Es sind nette Sachen. Ich hoffe du schaffst es. –

Verwandte Themen