Python 将具有重叠的多个ohlc csv合并为一个具有重叠的排序csv文件

Python 将具有重叠的多个ohlc csv合并为一个具有重叠的排序csv文件,python,pandas,dataframe,join,merge,Python,Pandas,Dataframe,Join,Merge,我正在尝试将多个OHLC csv文件合并到一个文件中。我在互联网上下载了一些数据,但索引部分重叠。数据可能如下所示: <file1> o,h,l,c,v,t ... 364.4,364.4,364.4,364.4,155.0,2019-01-01 10:59:59 364.4,364.59,364.4,364.59,371.0,2019-01-01 11:00:00 364.59,364.59,364.59,364.59,305.0,2019-01-01 11:00:01 <

我正在尝试将多个OHLC csv文件合并到一个文件中。我在互联网上下载了一些数据,但索引部分重叠。数据可能如下所示:

<file1>
o,h,l,c,v,t
...
364.4,364.4,364.4,364.4,155.0,2019-01-01 10:59:59
364.4,364.59,364.4,364.59,371.0,2019-01-01 11:00:00
364.59,364.59,364.59,364.59,305.0,2019-01-01 11:00:01

<file2>
o,h,l,c,v,t
364.4,364.59,364.4,364.59,1371.0,2019-01-01 11:00:00
364.59,364.59,364.59,364.59,305.0,2019-01-01 11:00:01
364.59,364.59,364.59,364.59,305.0,2019-01-01 11:00:02
364.59,364.59,364.59,364.59,305.0,2019-01-01 11:00:03
...

<file3>
o,h,l,c,v,t
364.4,364.4,364.4,364.4,155.0,2019-01-01 12:00:00
364.4,364.59,364.4,364.59,1371.0,2019-01-01 12:00:01
...
提前感谢

用于获取所有文件的路径,这些文件在
datadir
中以
AAPL\ucode>开头,并使用
pd.read\u csv
以及可选参数
parse\u dates
index\u col
,最后用于浓缩所有
dfs
并用于对
index
上的数据框进行排序

from pathlib import Path

dfs = [pd.read_csv(p, parse_dates=['t'])
       for p in Path(datadir).glob(r'AAPL_*')]
df = pd.concat(dfs).drop_duplicates('t').set_index('t').sort_index()
结果:

print(df)
                          o       h       l       c       v
t                                                          
2019-01-01 10:59:59  364.40  364.40  364.40  364.40   155.0
2019-01-01 11:00:00  364.40  364.59  364.40  364.59  1371.0
2019-01-01 11:00:01  364.59  364.59  364.59  364.59   305.0
2019-01-01 11:00:02  364.59  364.59  364.59  364.59   305.0
2019-01-01 11:00:03  364.59  364.59  364.59  364.59   305.0
2019-01-01 12:00:00  364.40  364.40  364.40  364.40   155.0
2019-01-01 12:00:01  364.40  364.59  364.40  364.59  1371.0

谢谢你的快速回复。乍一看很好看。仍然必须进行数据检查。@GrJP当然可以。快乐编码!仍在尝试删除重复的索引。尝试使用.drop_duplicates(),但最后我的总数不匹配。在我的结果中,我在大约90.000行中短了大约40行。仍在调查…您正试图在同一时间删除重复条目,对吗?>非常感谢。编辑起作用了。结果完全符合我的预期。祝您有个美好的一天!
from pathlib import Path

dfs = [pd.read_csv(p, parse_dates=['t'])
       for p in Path(datadir).glob(r'AAPL_*')]
df = pd.concat(dfs).drop_duplicates('t').set_index('t').sort_index()
print(df)
                          o       h       l       c       v
t                                                          
2019-01-01 10:59:59  364.40  364.40  364.40  364.40   155.0
2019-01-01 11:00:00  364.40  364.59  364.40  364.59  1371.0
2019-01-01 11:00:01  364.59  364.59  364.59  364.59   305.0
2019-01-01 11:00:02  364.59  364.59  364.59  364.59   305.0
2019-01-01 11:00:03  364.59  364.59  364.59  364.59   305.0
2019-01-01 12:00:00  364.40  364.40  364.40  364.40   155.0
2019-01-01 12:00:01  364.40  364.59  364.40  364.59  1371.0