连接不同数据框中的值
Join values in different dataframes
我正在尝试以这样一种方式连接两个数据帧,使得生成的联合包含关于它们的信息。我的数据框类似于:
>> df_1
user_id hashtag1 hashtag2 hashtag3
0000 '#breakfast' '#lunch' '#dinner'
0001 '#day' '#night' NaN
0002 '#breakfast' NaN NaN
第二个数据框包含主题标签的唯一标识符及其各自的分数:
>> df_2
hashtag1 score
'#breakfast' 10
'#lunch' 8
'#dinner' 9
'#day' -5
'#night' 6
我想在我的第一个数据框中添加一组列,其中包含每个 hashtag
使用的分数,例如:
user_id hashtag1 hashtag2 hashtag3 score1 score2 score3
0000 '#breakfast' '#lunch' '#dinner' 10 8 9
0001 '#day' '#night' NaN -5 6 NaN
0002 '#breakfast' NaN NaN 10 NaN NaN
我尝试使用 df.join()
但出现错误:“ValueError:您正在尝试合并对象和 int64 列。如果您希望继续,您应该使用 pd.concat”
我的代码如下:
new_df = df_1.join(df_2, how='left', on='hashtag1')
感谢任何帮助,谢谢
你应该试试 pandas.merge
:
pandas.merge(df_1, df_2, on='hashtag1', how='left')
如果要使用.join
,需要设置df_2
的索引。
df_1.join(df_2.set_index('hashtag1'), on='hashtag1', how='left')
部分资源:
我正在尝试以这样一种方式连接两个数据帧,使得生成的联合包含关于它们的信息。我的数据框类似于:
>> df_1
user_id hashtag1 hashtag2 hashtag3
0000 '#breakfast' '#lunch' '#dinner'
0001 '#day' '#night' NaN
0002 '#breakfast' NaN NaN
第二个数据框包含主题标签的唯一标识符及其各自的分数:
>> df_2
hashtag1 score
'#breakfast' 10
'#lunch' 8
'#dinner' 9
'#day' -5
'#night' 6
我想在我的第一个数据框中添加一组列,其中包含每个 hashtag
使用的分数,例如:
user_id hashtag1 hashtag2 hashtag3 score1 score2 score3
0000 '#breakfast' '#lunch' '#dinner' 10 8 9
0001 '#day' '#night' NaN -5 6 NaN
0002 '#breakfast' NaN NaN 10 NaN NaN
我尝试使用 df.join()
但出现错误:“ValueError:您正在尝试合并对象和 int64 列。如果您希望继续,您应该使用 pd.concat”
我的代码如下:
new_df = df_1.join(df_2, how='left', on='hashtag1')
感谢任何帮助,谢谢
你应该试试 pandas.merge
:
pandas.merge(df_1, df_2, on='hashtag1', how='left')
如果要使用.join
,需要设置df_2
的索引。
df_1.join(df_2.set_index('hashtag1'), on='hashtag1', how='left')
部分资源: