Создание нового столбца с использованием заголовка столбца и значения строки - PullRequest
0 голосов
/ 18 октября 2018

У меня есть данные, которые индексируются по дате, со временем в виде отдельных столбцов для каждой строки.Не идеально для сравнения. RecordDate - объект, в то время как столбцы времени - float64.

Моей первоначальной идеей было преобразование в datetime и поиск слияния, однако я понимаю, что это не сработает из-за того, что заголовок столбца является временным.

Вот пример моих данныхset:

  RecordDate    T0000   T0030   T0100   T0130   T0200   T0230   T0300
    15/04/2015  0        0       0       0       0       0       0
    16/04/2015  0        0       0       0       0       0       0
    17/04/2015  0        0       0       0       0       0       0
    18/04/2015  0        0       0       0       0       0       0

Вот пример моего идеального результата:

RecordDate           Value
15/04/2015 00:00       0
15/04/2015 00:30       0
15/04/2015 01:00       0

Любые мысли очень ценятся!

1 Ответ

0 голосов
/ 18 октября 2018

Вы можете использовать pd.DataFrame.melt метод.Например, для следующего кода

df = pd.DataFrame({
    "RecordDate": ["15/04/2015", "16/04/2015"],
    "T0000": [1, 2],
    "T0030": [3, 4]
})
df.melt(id_vars=["RecordDate"], var_name="RecordHour")

дает вывод

   RecordDate RecordHour  value
0  15/04/2015      T0000      1
1  16/04/2015      T0000      2
2  15/04/2015      T0030      3
3  16/04/2015      T0030      4

Тогда столбцы RecordDate и RecordHour можно объединить в один столбец datetime.

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