Python 将单列数据帧合并到另一个数据帧而不使用任何公共键
我的数据框架如下:Python 将单列数据帧合并到另一个数据帧而不使用任何公共键,python,pandas,dataframe,merge,Python,Pandas,Dataframe,Merge,我的数据框架如下: User_Id MARKED_CONTENT_AS_FAVOURITE RATE_CONTENT SEARCH VIEWED_CELEBRITY VIEWED_MOVIE VIEWED_TVSHOW 1 6916484f-b7bd-431a-818d-d1a63ff7c717 0 0 1 0
User_Id MARKED_CONTENT_AS_FAVOURITE RATE_CONTENT SEARCH VIEWED_CELEBRITY VIEWED_MOVIE VIEWED_TVSHOW
1 6916484f-b7bd-431a-818d-d1a63ff7c717 0 0 1 0 4 0
2 9fbb7702-5209-46c8-b7c8-2c3d03550b56 2 2 1 1 20 3
3 cb1fc554-8566-4c9f-a3ca-f64be302d65e 0 0 1 1 0 0
现在我有一个只有一个值的序列。我想执行一种向量化操作,其中序列只有一个值
USER_CHECKED_IN_CONTENT
3 0
我想将此列附加到数据帧,如下所示
User_Id MARKED_CONTENT_AS_FAVOURITE RATE_CONTENT SEARCH VIEWED_CELEBRITY VIEWED_MOVIE VIEWED_TVSHOW USER_CHECKED_IN_CONTENT
1 6916484f-b7bd-431a-818d-d1a63ff7c717 0 0 1 0 4 0 0
2 9fbb7702-5209-46c8-b7c8-2c3d03550b56 2 2 1 1 20 3 0
3 cb1fc554-8566-4c9f-a3ca-f64be302d65e 0 0 1 1 0 0 0
但是当我使用
pivot_activity.append(subset[[x for x in list(subset) if x not in list(pivot_activity)]])
它给出如下输出:
MARKED_CONTENT_AS_FAVOURITE RATE_CONTENT SEARCH USER_CHECKED_IN_CONTENT User_Id VIEWED_CELEBRITY VIEWED_MOVIE
0 0.0 0.0 1.0 NaN 6916484f-b7bd-431a-818d-d1a63ff7c717 0.0 4.0
1 2.0 2.0 1.0 NaN 9fbb7702-5209-46c8-b7c8-2c3d03550b56 1.0 20.0
2 0.0 0.0 1.0 NaN cb1fc554-8566-4c9f-a3ca-f64be302d65e 1.0 0.0
2 NaN NaN NaN 0.0 NaN NaN NaN
您可以轻松地将新列添加到现有数据帧
“df”
,如下所示:
df['USER_CHECKED_IN_CONTENT'] = 0 # df is your existing dataframe
我想你可以用这里。假设你有:
df - bigger data frame
df1 - smaller data frame
你可以做:
pd.concat([df, df1], axis=0).fillna(0)
我想这就是你想要的。合并似乎不是您想要的,因为它必须有一些引用才能匹配,并且您有一个具有不同键的1对多场景。此代码将从子集数据框的单行单列中指定整个列:
pivot_activity['USER_CHECKED_IN_CONTENT'] = subset[ 'USER_CHECKED_IN_CONTENT'].head(1)
这并不完全是重复的,但可能会有所帮助:您正试图将一个单行序列附加到数据帧。因此,您将有不匹配的索引。我认为你需要更好的定义这里到底发生了什么,你真正想要的是什么。因为根据你的问题,下面的答案是正确的。第二个数据帧只有一列,只有一个值。现在,我想合并这两个数据帧,并获得所需的输出,如图所示。请看我的答案。我有两个单独的数据帧要合并。数据帧只能在一些公共值上连接,例如列或索引或它们的一些组合。