Python 合并两个维度相同的数据集?
根据股票数据,我为我想买的股票(赢家)和想买的股票(输家)创建了两个数据框。这意味着两个数据帧中不是“赢家”或“输家”的值都具有“False”值 获胜者:Python 合并两个维度相同的数据集?,python,pandas,lambda,merge,finance,Python,Pandas,Lambda,Merge,Finance,根据股票数据,我为我想买的股票(赢家)和想买的股票(输家)创建了两个数据框。这意味着两个数据帧中不是“赢家”或“输家”的值都具有“False”值 获胜者: MMM ABT ABBV ABMD ACN ATVI ADBE AMD \ 31-10-2019 00:00 False False False False False Winner False False 29-11-2019 00
MMM ABT ABBV ABMD ACN ATVI ADBE AMD \
31-10-2019 00:00 False False False False False Winner False False
29-11-2019 00:00 False False False False False Winner False Winner
31-12-2019 00:00 False False False False False Winner False Winner
31-01-2020 00:00 False False Winner False False Winner False Winner
21-02-2020 00:00 False False Winner False False Winner Winner Winner
现在我想连接或合并这两个数据帧,这样我就得到一个数据帧,值为“Winner”、“Loser”和“False”。
没有观察到既有“赢家”又有“输家”的价值观
有什么聪明的方法把这两者结合起来吗?
我希望我的问题是可以理解的,并且我已经提供了足够的代码。您可以根据要求使用dfs的固有值
WinLos = WinLos_df.values
WinLos2 = WinLos2_df.values
n,m = WinLos_df.shape
merged = np.empty(shape=(n,m), dtype=object)
for i in range(n):
for j in range(m):
merged[i,j] = False
if WinLos[i,j]:
merged[i,j] = 'Winner'
if WinLos2[i,j]:
merged[i,j] = 'Looser'
然后潜在地将合并后的数组传输到数据帧中我是否正确理解,您希望垂直连接数据集?如果对python来说非常陌生,那么如果您集中的意思是应该添加额外的行,那么这不是我的意图。行和列应该保持不变,但值应该如下:If WinLos_df.value==WinLos2_df.value:Return'False'Elif WinLos_df.value=='Winner':Return“Winner”Elif WinLos2_df.value==''Loser':Return'Loser'
MMM ABT ABBV ABMD ACN ATVI ADBE AMD \
31-10-2019 00:00 False False False False False Winner False False
29-11-2019 00:00 False False False False False Winner False Winner
31-12-2019 00:00 False False False False False Winner False Winner
31-01-2020 00:00 False False Winner False False Winner False Winner
21-02-2020 00:00 False False Winner False False Winner Winner Winner
WinLos = WinLos_df.values
WinLos2 = WinLos2_df.values
n,m = WinLos_df.shape
merged = np.empty(shape=(n,m), dtype=object)
for i in range(n):
for j in range(m):
merged[i,j] = False
if WinLos[i,j]:
merged[i,j] = 'Winner'
if WinLos2[i,j]:
merged[i,j] = 'Looser'