我正在尝试加入两个Pandas数据帧,一个名为data
,其中包含一些视频使用数据,另一个名为assetids
,其中包含正在查看的视频的元数据。两个数据帧都包含一个名为['Asset ID']
的列,其ID号格式完全相同,我通过抽查确认data
中的ID也存在于元数据中。唯一的区别是data['Asset ID'].dtype
是一个对象,而assetids['Asset ID'].dtype
是一个非空对象。
然而,加入或合并都不能正常工作。我试过的选项中包括:
data2 = data.join(assetids, on = 'Asset ID')
^结果为空白数据框。
data2 = data.join(assetids, how = 'left', on = 'Asset ID')
^半填充数据框中的结果
data2 = pd.merge(data, assetids, how='left',left_on='Asset ID', right_on= 'Asset ID')
^奇怪的是导致一个关键错误 - 'Asset ID'
为什么这两个数据帧不会合并,我怎样才能让它们合并?
答案 0 :(得分:0)
我的提示是当我明确尝试运行assetids['Asset ID'].dtype
时,它返回了一个关键错误。我仍然不知道为什么列没有注册(我寻找隐藏的字符,奇怪的编码,一切)。
最终工作的是按照数据框列列表中的位置引用列,如下所示:
data2 = pd.merge(data, assetids, how='left',left_on='Asset ID', right_on=assetids.columns[0])