我试图将pandas中的两个数据帧连接到两个字段“date_key”和“user_uuid”,但当我这样做时,我只得到一个空的集合,尽管我在表中搜索匹配项时会有重叠。在
数据帧1(icloset)看起来像:
In [167]: icloset.head()
Out[167]:
count ASL75
date_key user_uuid
20130917 000a26bf-e7ff-3124-9b00-b227ee155e7f 11 9.03510
0017b444-83f7-3adb-9727-926de4041731 3 45.05510
0022c69b-f1f5-301e-812d-89725e17c9dd 19 31.71980
00453fcd-93bd-373e-9248-f821ce8279f2 10 17.68785
004a050d-f855-3c9c-bfe0-5c504df965bc 8 45.20115
数据帧2(definedRIDs)看起来像:
^{pr2}$我确保去掉definedRIDs的索引,使其看起来像文档中的this example。在
由于某些原因,当我试图在文档中复制示例时,在合并字段(count和ASL75)中得到空结果:
In [171]: definedRIDs.join(icloset,on=['date_key','user_uuid'])
Out[171]:
<class 'pandas.core.frame.DataFrame'>
Int64Index: 7623 entries, 0 to 7622
Data columns (total 8 columns):
rid 7623 non-null values
user_uuid 7623 non-null values
rid_slots 7623 non-null values
last48status 7623 non-null values
bad_RID 7623 non-null values
date_key 7623 non-null values
count 0 non-null values
ASL75 0 non-null values
dtypes: bool(1), float64(2), object(5)
但当我将数据帧导出到csv文件并手动搜索时,两个文件中都有匹配的user_uid和date_键组合。你知道我为什么会有这种不匹配吗?在
谢谢你
看来我只需要确保键上的类型都是dtype=object。在
正确的解决方案实际上是将没有索引的帧(在左侧)连接到右侧具有multindex的帧:
希望这有助于其他人以后不要犯这个错误,并用索引澄清一下连接。在
重置}列(因为它们在索引中),因此它找不到匹配项。在
icloset
数据帧上的索引。当您指定on
参数时,它会尝试匹配列,但在icloset
帧中没有date_key
或{如果使用
on
参数,则传入的值应该是列名。在相关问题 更多 >
编程相关推荐