我正在处理财务数据,我想匹配两只股票的时间戳。我拥有(或可以生成)的格式是:
一个大数据框,一列[timestamp1, ..., timestamp2, ....]
或两dataframe
列[timestamp1, ..] [timestamp2, ...]
与索引类型的列分开integer
。
我想得到一个dataframe
只有行 where的大timestamp1 = timestamp2
,并且请注意,df['timestamp1][i] == df['timestamp2][j]
where可能i!=j
示例数据帧可以是:
2018-01-02-07:00:00, salmon, bacon, eggs, 2018-01-02-07:01:00, peanuts, butter, milk
2018-01-02-07:03:00, tuna, avocado, null, 2018-01-02-07:02:00, bacon, bacon, bacon
2018-01-02-07:04:00, salmon, tuna, tuna, 2018-01-02-07:03:00, lettuce, tomato, bacon
如您所见,df = df[ df['timestamp1] == df['timestamp2'] ]
由于相应时间戳的索引不相等,因此无法解决此问题。注意索引类型是int
我确实知道一种非常繁琐的解决方法,但它必须以一种更简单的方式成为可能(例如,可以通过填充所有不存在的时间戳来解决,这样每个时间戳的索引号都将相同)
希望你能帮助我,我将永远欠你的债!
对于 2 个单独的数据帧:
pd.merge(df1, df2, left_on="timestamp1", right_on="timestamp2", how="inner")
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句