【发布时间】:2020-05-11 12:59:15
【问题描述】:
我有一个来自 LASTFM 数据集的数据框,其中包含以下列: user_id | friend_id 像这样:
uid | fid
346 | 23
355 | 48
我想将用户之间的关系作为第三列(一种邻接向量),例如:
uid1 | uid2 | friends
23 | 48 | 0
23 | 56 | 0
23 | .. | 0
23 | 346 | 1
48 | 23 | 0
48 | 56 | 0
48 | .. | 0
48 | 346 | 0
48 | 355 | 1
23 | .. | 0
23 | 346 | 1
346 | 23 | 1
我尝试过使用 merge、join、lambda,但到目前为止都没有成功。任何帮助将不胜感激。
【问题讨论】:
-
分配一个等于一的键后合并
-
谢谢@YOBEN_S。据我了解,我做了
uniques_df = pd.DataFrame(df['fid'].unique(), columns=['uid']) uniques_df['rel'] = ones['rel'] # only 1s df2 = df.merge(uniques_df, on='uid', how='outer', suffixes=('', '2')) df2.head()我之前尝试过类似的东西,但我还必须在字段不相关的地方使用零,并且我必须拥有所有 uid 组合(如叉积)。
标签: python pandas python-3.7 last.fm knowledge-graph