根据来自其他 DF 的值选择 DF 行

时间:2021-02-02 22:17:32

标签: python pandas dataframe

我有一个像这样的数据框,

starttime               code                                
2021-01-01 06:16:58.862 ON
2021-01-01 15:37:47.202 OFF
2021-01-01 15:39:48.463 ON
2021-01-01 18:27:57.523 OFF
2021-01-02 07:53:35.581 ON

第二个数据框看起来像这样,

starttime               value
2021-01-01 07:16:34.239 232
2021-01-01 07:16:34.439 233
2021-01-01 07:16:34.539 231
2021-01-01 07:16:34.639 232
2021-01-01 16:32:47.202 43453
2021-01-01 18:32:48.463 2321
2021-01-01 19:21:28.239 34
2021-01-02 06:51:35.232 767

所以我的目标是根据第一个数据帧中从 ON 和 OFF 的值切换从第二个数据帧中获取数据。我需要连接 ON 和 OFF 转换之间的所有数据并将它们存储到一个新的数据帧中。

是否有一种 pythonic/pandas 方法可以在不使用任何 for 循环的情况下做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以垂直连接数据框,然后在 'code' 列上使用前向填充插补:

# concatenate dataframes vertically
df3 = pd.concat((df1, df2)).sort_index()

# use method='ffill'
df3['code'] = df3['code'].fillna(method='ffill')

df3

enter image description here

您也可以删除空值:

df.dropna()

enter image description here

相关问题