Понимание списка из pandas dataframe - PullRequest
0 голосов
/ 23 мая 2018

У меня есть фрейм данных с датами, временем и значениями

Date       Time Value
2017-01-05 1730 893
2017-01-05 1700 990
2017-01-05 1600 801
2017-02-01 1700 701
2017-02-01 1800 774

Я хочу построить понимание списка, которое использует дату + время в качестве ключа для возврата определенных значений.Например:

Date = 2017-01-05, Time = 1600 gives Value 801
Date = 2017-02-01, Time = 1800 gives Value 774

Работает следующий код - не считая того факта, что в моем списке остался некрасивый тип массива:

valueList =[]

for d, t in df:
    valueList.append(df[(df['Date'] == d) & (df['Time'] == t)].Value.values)

Но я 'я действительно хотел бы создать список выбранных значений, используя понимание списка.

1 Ответ

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

Не усложняйте проблему.У понимания списка нет ключей, поэтому вы не можете использовать его для отображения.Однако вы можете использовать объект pd.Series или dict.

Вы можете просто создать серию с вашим индексом как ['Date', 'Time']:

s = df.set_index(['Date', 'Time'])['Value']

print(s.get(('2017-02-01', 1700)))
# 701

Если вам нужен словарь:

d = s.to_dict()

В любом случае вы можете получить доступ к значению, заданному датой и временем.

...