如何在应用合并熊猫之前引发类型错误

时间:2018-11-19 05:33:17

标签: python pandas

这是功能请求问题,请让我知道我是唯一一个处理此类问题的人,如果是,请帮助我避免这些错误,否则我将要求制作此功能。

大熊猫的基本操作之一是merge。在执行合并操作时,即使数据相同但dtype有任何不同,也不会合并。我遇到的pd.merge常见错误之一是应用pd.merge而不检查其dtype 。我想知道有什么方法pandas帮助我找出它的dtype并引发用户警告,如果键列的dtype不相同。无论如何,在列的dtype不同的情况下应用合并操作没有任何意义。

请让我知道你们对这个问题的想法?或如何优雅地解决这个问题?

1 个答案:

答案 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')