【发布时间】:2020-09-15 03:37:42
【问题描述】:
我有两个不同的数据框。 第一个具有以下形式:
"start time" "end time" "Value1 " "Value2 "
12:00 12:01 0 0
12:01 12:02 1 2
12:02 12:03 3 4
第二个有以下形式。
"start time" "end time" "Value1 " "Value2 "
12:00 12:01 0 0
12:01 12:02 1 6
12:02 12:03 0 0
对于两个数据帧,如果 Value1 为 0,则 Value 2 也为零。 (同样适用于从价值 2 到价值 1)
开始时间和停止时间之间的差始终为 1 分钟,并且两个数据帧的行数相同。 (一整天或 1440 行)
现在我想做的是组合这些数据帧而不考虑 0。所以正确的合并数据有如下形式
"start time" "end time" "Value1_1 " "Value2_1 " "Value1_2 " "Value2_2 "
12:01 12:02 1 2 1 6
我正在做的是
df = pd.merge(df1, df2, left_index=True, right_index=True, how='outer')
这根本不会忽略 0 行。所以我想为什么不先合并它们然后去掉 0 值。这不是一个聪明的方法,但它会做到的。 我想知道是否有更好的方法来做到这一点?
【问题讨论】:
标签: python pandas algorithm dataframe merge