问题描述
仅当我这样做时,我才尝试将两个数据帧在大熊猫中使用左合并在一起,但合并后的数据不会保留,而是提供NaN值。所有列都是对象,并且以这种方式匹配,所以我不太确定发生了什么。
这是我的第二个数据帧头。第二个df是一个“关键”文档,用于将第一个输出与其正确的id / tastant / etc相匹配,并且它们共享相同的日期/主题/过程/等
这是我的代码,试图将它们合并到公共列上。
combined = first.merge(second,on=['trial','experiment','subject','date','procedure'],how='left')
具有输出(id,ts和tastant列应与第一个数据帧正确匹配,但不匹配。
解决方法
检查您的dtype,确保它们在两个数据框之间匹配。熊猫在导入数据时会对数据类型进行假设,可能假设数字在一个数据帧中为int,而在另一个数据帧中为对象。
对于字符串列,请检查其他空格。它们可以出现在数据集中,并且由于您看不到它们而熊猫却可以看到,因此没有匹配结果。您可以使用df ['column']。str.strip()。
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.str.strip.html