Shu*_*dey 2 python dataframe pandas
正如标题所说,我只想比较两个数据帧的数据类型和列名是否相同.我并不担心价值观是平等的.
从我已经尝试过的,.equals()也比较了值,如果我尝试比较空数据帧,它们总是导致不相等(同样,我也失去了dtypes属性).
任何帮助将不胜感激.
比较Series创建者DataFrame.dtypes:
df1.dtypes.equals(df2.dtypes)
Run Code Online (Sandbox Code Playgroud)
样品:
df1 = pd.DataFrame({
'A':list('abcdef'),
'B':[4,5,4,5,5,4],
'F':list('aaabbb')
})
df2 = pd.DataFrame({
'A':list('abcdef'),
'B':[4,5,4,5,5,4],
'F':list('aaabbb')
})
df3 = pd.DataFrame({
'A':list('abcdef'),
'B':[4.0,5,4,5,5,4],
'F':list('aaabbb')
})
df4 = pd.DataFrame({
'A':list('abcdef'),
'C':[4,5,4,5,5,4],
'F':list('aaabbb')
})
Run Code Online (Sandbox Code Playgroud)
print (df1.dtypes.equals(df2.dtypes))
True
print (df1.dtypes.equals(df3.dtypes))
False
print (df1.dtypes.equals(df4.dtypes))
False
Run Code Online (Sandbox Code Playgroud)