Вызов отдельных столбцов, которые были пересчитаны и агрегированы из большего кадра данных - PullRequest
0 голосов
/ 03 апреля 2019

У меня большой фрейм данных, и для сбора статистики по фигуре я пересчитал данные за каждый 6-часовой период, а затем агрегировал эти данные по среднему числу и количеству.

Код для этого.

meantime = df.set_index('datetime').resample('6h').agg(['mean', 'count'])

print(meantime['l16'])

Заметьте, что я только пересчитываю один столбец (l16) информационного кадра, это все, что я хочу.

Результаты:

                          mean  count
datetime                             
2019-02-03 00:00:00   1.322222      9
2019-02-03 06:00:00   5.733333     12
2019-02-03 12:00:00   6.258333     12
2019-02-03 18:00:00   2.325000     12

Я хотел бы сделать две вещи с этим.

  1. Избавьтесь от любого пересчитанного ряда со счетом меньше 6.

  2. Изолировать средний столбец и превратить его в список для возможного построения графика в качестве наложения на график.

Проблема, с которой я сталкиваюсь, заключается в том, как просто выполнить каждую из этих частей. Я не уверен, как написать код для этого.

Я попытался написать это примерно так, но я не знаю, как изолировать столбец с измененной выборкой от столбца данных.

invalid = meantime['l16' *count?* ] < 6
print(meantime['l16' *mean?*]

Я оглянулся и, похоже, не нашел ответа на свой вопрос.

Буду признателен за любую помощь.

Ответы [ 2 ]

1 голос
/ 03 апреля 2019
  1. Изолировать любой пересчитанный ряд с количеством меньше 6.

    invalid = meantime.loc[meantime['count'] < 6]

  2. Изолировать средний столбец и превратить его в список возможных черчение как наложение на сюжет.

    meanvalues = meantime['mean'].to_list()

0 голосов
/ 03 апреля 2019

Если вы хотите получить только 6 повторных выборок данных, вам следует использовать цикл for, например так:

x = 1
while True:
    print "To infinity and beyond! We're getting close, on %d now!" % (x)
    x += 1
...