这是功能请求问题,请让我知道我是唯一一个处理此类问题的人,如果是,请帮助我避免这些错误,否则我将要求制作此功能。
大熊猫的基本操作之一是merge
。在执行合并操作时,即使数据相同但dtype
有任何不同,也不会合并。我遇到的pd.merge
常见错误之一是应用pd.merge而不检查其dtype 。我想知道有什么方法pandas
帮助我找出它的dtype并引发用户警告,如果键列的dtype不相同。无论如何,在列的dtype不同的情况下应用合并操作没有任何意义。
请让我知道你们对这个问题的想法?或如何优雅地解决这个问题?
答案 0 :(得分:0)
您可以直接访问每列的dtypes
if len(df1.columns) != len(df2.columns):
raise ValueError('Column number mismatch')
for col1, col2 in zip(sorted(df1.columns), sorted(df2.columns)):
if col1 != col2:
raise ValueError('Column name mismatch')
if df1[col1].dtype != df2[col2].dtype:
raise ValueError('Column dtype mismatch')