与Get all table values if match in 2 other tables exists的问题相同,但尝试在Python / pandas中进行相同的操作,因为在写入SQLite DB时我无法在pandas中设置PK / FK(df.to_sql没有API这样做), SQL太慢。
我有一个数据框“渠道”。
channelId
a
b
c
d
数据帧“视频”
videoId | channelId
1 | a
2 | b
3 | c
4 | e
数据框“注释”
commentID | videoID | videoID_channelID
xx | 1 | a
yy | 2 | b
zz | 5 | e
tt | 6 | f
键是:
我需要:
因此,我想进行3个内部联接,每个内部引用联接2。
channelId
a
b
videoId | channelId
1 | a
2 | b
commentID | videoID | videoID_channelID
xx | 1 | a
yy | 2 | b
我知道我可以对2个数据帧进行内部联接,例如:
pd.merge(channel, video, left_on='channelId', right_on='channelId', how='inner')
但是如何为具有不同索引的3个数据帧做到这一点?