我正在尝试基于第二个Dataframe(df 2)中的值,使用多个条件从一个Dataframe(df1
)中删除Dataframe行。我感兴趣的数据在这些 Dataframe 中比较被标记为'Timestamp'(T
)和'delta_t'(dt
)。
我希望应用的函数是,当T_{df1} == T_{df2}
时,然后删除dt_{df2} - 0.1 < dt_{df1} < dt_{df2}
中的所有行
换句话说,当每个 Dataframe 的时间戳值相等时,我就想比较delta_t值。如果df_1
的delta_t
值落在df2
的delta_t
值的+/-0.1范围内,则从df 1中删除这些行。
任何帮助是非常感谢!
干杯!
我已经尝试使用df1.loc['timestamp'].isin(df2['timestamp']
获取具有相应时间戳值的行。但是我不知道如何比较delta_t
值和删除属于特定范围的行。
编辑:数据最初保存在一个包含多列的数据框架中。其中一列被标记为“通道”。为了形成我比较的两个 Dataframe (df 1,df 2),我使用以下方法基于通道值进行分离:
noise = df1[df1['channel'] == 3]['timestamp_copy'] df2 = df1.loc[(df1['timestamp_copy'].isin(noise))]
因此,df 1中的行数>> df 2。
1条答案
按热度按时间vlf7wbxs1#
首先欢迎来到stackoverflow社区
如果我理解正确,那么这就满足了你的任务,你可以选择满足你所需条件的索引,然后从 Dataframe df 1中删除它们,如下所示:
字符串
只需将a、B替换为列名即可。
希望我得到了你,它帮助,快乐编码!