繁体   English   中英

如何使用 python 将三个 csv 文件数据写入一个具有一个日期列和三个数据列的 csv 文件

[英]how to write three csv file data into one csv file with one date column and three data column using python

我有三个带有日期一输入值的 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

在这里我写了一个代码,但它没有给我我期望的 output。 我的代码:

df1= pd.read_csv('X1.csv')
df2=pd.read_csv('X2'.csv')
df3=pd.read_csv('X3'.csv')
df = pd.concat([df1,df2,df3])

谁能帮我解决这个问题?

尝试这个:

df=df1.merge(df2, how='outer').merge(df3, how='outer')

创建DatetimeIndex然后使用concataxis=1

df1=pd.read_csv('X1.csv', parse_dates=['date'], index_col=['date'])
df2=pd.read_csv('X2.csv', parse_dates=['date'], index_col=['date'])
df3=pd.read_csv('X3.csv', parse_dates=['date'], index_col=['date'])

df = pd.concat([df1,df2,df3], axis=1)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM