漂亮
name date time open high low close
0 NIFTY 20180903 09:16 11736.05 11736.10 11699.35 11700.15
1 NIFTY 20180903 09:17 11699.00 11707.60 11699.00 11701.85
2 NIFTY 20180903 09:18 11702.65 11702.65 11690.95 11692.40
3 NIFTY 20180903 09:19 11692.55 11698.10 11688.65 11698.10
4 NIFTY 20180903 09:20 11698.40 11698.40 11687.25 11687.70
选项
date time option_type strike_price open high low close volume
0 20180903 09:15 CE 11500 313.65 319.10 296.00 299.80 5250
1 20180903 09:16 CE 11500 299.00 303.85 299.00 300.60 3975
2 20180903 09:17 CE 11500 299.05 302.30 290.65 293.25 4500
3 20180903 09:18 CE 11500 294.95 300.00 291.00 300.00 1500
4 20180903 09:19 CE 11500 300.50 300.50 295.60 295.60 975
在两个dfs中,我只想过滤两个日期和时间都存在的行。我已经尝试过isin了。但是它没有按预期工作。
option=option[(option.date.isin(nifty.date)) & (option.time.isin(nifty.time))]
nifty=nifty[(nifty.date.isin(option.date)) & (nifty.time.isin(option.time))]
有人可以帮我吗?我的预期输出是:
漂亮
name date time open high low close
0 NIFTY 20180903 09:16 11736.05 11736.10 11699.35 11700.15
1 NIFTY 20180903 09:17 11699.00 11707.60 11699.00 11701.85
2 NIFTY 20180903 09:18 11702.65 11702.65 11690.95 11692.40
3 NIFTY 20180903 09:19 11692.55 11698.10 11688.65 11698.10
选项
date time option_type strike_price open high low close volume
1 20180903 09:16 CE 11500 299.00 303.85 299.00 300.60 3975
2 20180903 09:17 CE 11500 299.05 302.30 290.65 293.25 4500
3 20180903 09:18 CE 11500 294.95 300.00 291.00 300.00 1500
4 20180903 09:19 CE 11500 300.50 300.50 295.60 295.60 975
答案 0 :(得分:1)
仅在“日期”和“时间”上使用merge
,这样,您的df都将返回匹配值的子集;
nifty_ = nifty.merge(option[['date','time']])
option_ = option.merge(nifty[['date', 'time']])