天天看點

python把日期轉換為時間索引,python pandas将索引轉換為日期時間

python把日期轉換為時間索引,python pandas将索引轉換為日期時間

How do i convert a pandas index of strings to datetime format

my dataframe 'df' is like this

value

2015-09-25 00:46 71.925000

2015-09-25 00:47 71.625000

2015-09-25 00:48 71.333333

2015-09-25 00:49 64.571429

2015-09-25 00:50 72.285714

but the index is of type string, but i need it a datetime format because i get the error

'Index' object has no attribute 'hour'

when using

df['A'] = df.index.hour

解決方案

It should work as expected. Try to run the following example.

import pandas as pd

import io

data = """value

"2015-09-25 00:46" 71.925000

"2015-09-25 00:47" 71.625000

"2015-09-25 00:48" 71.333333

"2015-09-25 00:49" 64.571429

"2015-09-25 00:50" 72.285714"""

df = pd.read_table(io.StringIO(data), delim_whitespace=True)

# Converting the index as date

df.index = pd.to_datetime(df.index)

# Extracting hour & minute

df['A'] = df.index.hour

df['B'] = df.index.minute

df

# value A B

# 2015-09-25 00:46:00 71.925000 0 46

# 2015-09-25 00:47:00 71.625000 0 47

# 2015-09-25 00:48:00 71.333333 0 48

# 2015-09-25 00:49:00 64.571429 0 49

# 2015-09-25 00:50:00 72.285714 0 50