Как я могу напечатать определенные строки из CSV в пандах - PullRequest
0 голосов
/ 11 мая 2018

Моя проблема в том, что у меня большой массив данных с более чем 40000 строками, и теперь я хочу выбрать строки с 2013-01-01 00:00:00 до 2013-31-12 00: 00: 00

print(df.loc[df['localhour'] == '2013-01-01 00:00:00'])

Это мой код, но я не могу выбрать интервал для распечатки ... есть идеи?

Ответы [ 2 ]

0 голосов
/ 11 мая 2018

Один из способов - установить индекс как datetime, а затем использовать pd.DataFrame.loc со строковыми индексаторами:

df = pd.DataFrame({'Date': ['2013-01-01', '2014-03-01', '2011-10-01', '2013-05-01'],
                   'Var': [1, 2, 3, 4]})

df['Date'] = pd.to_datetime(df['Date'])

res = df.set_index('Date').loc['2010-01-01':'2013-01-01']

print(res)

            Var
Date           
2013-01-01    1
2011-10-01    3
0 голосов
/ 11 мая 2018

Создайте объект datetime и затем примените условие:

print(df)

date
0   2013-01-01
1   2014-03-01
2   2011-10-01
3   2013-05-01

df['date']=pd.to_datetime(df['date'])
df['date'].loc[(df['date']<='2013-12-31 00:00:00') & (df['date']>='2013-01-01 00:00:00')]

Выход:

0   2013-01-01
3   2013-05-01
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...