我的数据集日期和时间中有两列,我想将这两列都转换为时间戳,这意味着我传递了日期和时间,我可以单独为每个人编制索引,但我将它们都添加到索引中,我们将不胜感激。
df= pd.read_csv('Data',parse_dates=['Date',' Time'])
#I end up having both coulmns but I want to merge them in one as a time stamp and then index them
df.set_index('Date_ Time')
# it says that there is no Time in columns
#any ideas?
谢谢
答案 0 :(得分:0)
如果您的 csv 如下所示:
Date,Time
2021-07-09,11:00:00
2021-07-09,12:00:00
2021-07-09,13:00:00
2021-07-09,14:00:00
2021-07-09,15:00:00
您可以使用此方法创建 DateTimeIndex:
# Read csv without parse dates
df = pd.read_csv('Data')
print(df)
Date Time
0 2021-07-09 11:00:00
1 2021-07-09 12:00:00
2 2021-07-09 13:00:00
3 2021-07-09 14:00:00
4 2021-07-09 15:00:00
# Combine columns and set index
df = df.set_index(pd.to_datetime(df['Date'] + ' ' + df['Time']))
print(df)
Date Time
2021-07-09 11:00:00 2021-07-09 11:00:00
2021-07-09 12:00:00 2021-07-09 12:00:00
2021-07-09 13:00:00 2021-07-09 13:00:00
2021-07-09 14:00:00 2021-07-09 14:00:00
2021-07-09 15:00:00 2021-07-09 15:00:00
答案 1 :(得分:0)
如果将 []
添加到 [['Date','Time']]
:
df = pd.read_csv('Data',parse_dates=[['Date',' Time']])
那么您的解决方案运行良好。
df.set_index('Date_ Time')
或者使用:
df = pd.read_csv('Data',parse_dates=[['Date',' Time']], index_col=[0])
df = pd.read_csv('Data',parse_dates=[['Date',' Time']], index_col=['Date_ Time'])