我有一个csv文件,其中包含德语格式的日期:
date,D11,D21,D31,D41
19.03.2018 00:00:00,6,4,6,2
19.03.2018 01:00:00,5,8,5,1
20.03.2018 00:00:00,2,2,3,0
20.03.2018 01:00:00,2,5,4,1
21.03.2018 00:00:00,3,7,8,3
21.03.2018 01:00:00,18,22,19,3
22.03.2018 00:00:00,32,69,47,10
22.03.2018 01:00:00,105,105,69,32
23.03.2018 00:00:00,117,134,106,57
23.03.2018 01:00:00,97,83,95,73
我想按特定日期获取行。为了获得此输出:
date,D11,D21,D31,D41
21.03.2018 00:00:00,3,7,8,3
21.03.2018 01:00:00,18,22,19,3
我尝试过:
import pandas as pd
from datetime import datetime
df = pd.read_csv('myData.csv')
df.loc[datetime.date(year=2018,month=3,day=21):datetime.date(year=2018,month=3,day=21)]
不幸的是,我收到TypeError:
TypeError: descriptor 'date' of 'datetime.datetime' object needs an argument
答案 0 :(得分:1)
不要使用datetime
对象,它不能与Pandas很好地配合使用。您可以只使用字符串:
# read csv
df = pd.read_csv('myData.csv',
index_col=['date'], parse_dates=True)
df.loc['2018-03-21':'2018-03-22']
或者,如果您只需要日期为2018-03-21
的行:
df.loc['2018-03-21']
输出:
D11 D21 D31 D41
date
2018-03-21 00:00:00 3 7 8 3
2018-03-21 01:00:00 18 22 19 3