0

我有2个数据框:

东风BB

排名、歌曲、艺术家、年份

dfMap

艺术家、歌曲、SongId、ArtistId

我想根据艺术家和歌曲将它们合并在一起,即:在它们匹配的地方我添加额外的列,否则为 0:

艺术家、歌曲、SongId、ArtistId、排名、年份

我预见到艺术家或歌曲可能拼写错误的另一个问题。也许我可以检查相似性?不太清楚该怎么做。

对于我尝试的合并:

merged = pd.merge(dfMap, dfBB, on='Artist' and 'Song', how='outer')

但得到:

Artist_x, Song, SongId, ArtistId, Rank, Artist_y, Rank 
4

1 回答 1

0
merged = pd.merge(dfMap, dfBB, on=['Artist','Song'], how='outer')

您可以使用值列表或数组来合并两个数据框。我建议检查文档

关于拼写错误,您需要自己进行一些清理。您可能想查看difflib

于 2018-05-27T22:04:18.630 回答