我有三个csv文件,输入日期为一。我只想将这三个csv文件合并为一个具有一个日期列和三个输入数据的csv文件。
date X1
2018-06-08 09:30:00 450
2018-06-08 10:30:00 340.0
2018-06-08 11:30:00 200.5
2018-06-08 12:30:00 100.75
2018-06-08 13:30:00 80.875
2018-06-08 14:30:00 50.4375
2018-06-08 15:30:00 450.71875
2018-06-08 16:30:00 300.859375
2018-06-08 17:30:00 150.4296875
2018-06-08 18:30:00 40.21484375
2018-06-08 19:30:00 47.607421875
2018-06-08 20:30:00 23.8037109375
second csv
date X2
2018-06-08 09:25:00 300
2018-06-08 10:25:00 250.0
2018-06-08 11:25:00 170.0
2018-06-08 12:25:00 80.5
2018-06-08 13:25:00 65.25
2018-06-08 14:25:00 55.625
2018-06-08 15:25:00 40.8125
2018-06-08 16:25:00 20.90625
2018-06-08 17:25:00 10.953125
2018-06-08 18:25:00 8.9765625
third csv
date X3
2018-06-08 15:00:00 3
2018-06-08 16:00:00 2.5.0
2018-06-08 17:00:00 0.5
2018-06-08 18:00:00 0.35
2018-06-08 19:00:00 0.25
2018-06-08 20:00:00 0.15
2018-06-08 21:00:00 0.03125
2018-06-08 22:00:00 0.015625
2018-06-08 23:00:00 0.0078125
2018-06-09 00:00:00 0.00390625
这是我的三个csv文件:
我期望的是:
date X1 X2 X3
2018-06-08 09:25:00 450 NaN NaN
2018-06-08 09:30:00 NaN 300 NaN
2018-06-08 10:25:00 NaN 250 NaN
2018-06-08 10:30:00 340 NaN NaN
2018-06-08 11:25:00 NaN 170 NaN
2018-06-08 11:30:00 200.5 NaN NaN
2018-06-08 12:25:00 80.5 NaN NaN
2018-06-08 12:30:00 100.75 NaN NaN
2018-06-08 13:25:00 NaN 65.5 NaN
2018-06-08 13:30:00 80.875 NaN NaN
2018-06-08 14:25:00 NaN 55.625 NaN
2018-06-08 14:30:00 50.4375 NaN NaN
2018-06-08 15:00:00 NaN NaN 3
在这里我写了一个代码,但是没有给我我期望的输出。 我的代码:
df1= pd.read_csv('X1.csv')
df2=pd.read_csv('X2'.csv')
df3=pd.read_csv('X3'.csv')
df = pd.concat([df1,df2,df3])
有人可以帮我解决这个问题吗?
编写完jerzrael提供的代码后的最终输出
Unnamed: 0 X1 Unnamed: 0 X2 Unnamed: 0 \
date
2018-06-08 09:25:00 NaN NaN 0.0 500.000000 NaN
2018-06-08 10:25:00 NaN NaN 1.0 350.000000 NaN
2018-06-08 11:25:00 NaN NaN 2.0 250.000000 NaN
2018-06-08 12:25:00 NaN NaN 3.0 100.500000 NaN
2018-06-08 13:25:00 NaN NaN 4.0 50.250000 NaN
2018-06-08 14:25:00 NaN NaN 5.0 30.625000 NaN
2018-06-08 15:00:00 0.0 2.000000 NaN NaN 0.0
2018-06-08 15:25:00 NaN NaN 6.0 7.812500 NaN
2018-06-08 16:00:00 1.0 1.5000000 NaN NaN 1.0
2018-06-08 16:25:00 NaN NaN 7.0 3.906250 NaN
2018-06-08 17:00:00 2.0 0.500000 NaN NaN 2.0
答案 0 :(得分:1)
创建yarn global add n
n 11.15.0
yarn install # have to install again
,然后将DatetimeIndex
与concat
一起使用:
axis=1
答案 1 :(得分:0)
尝试一下:
df=df1.merge(df2, how='outer').merge(df3, how='outer')