Python Pandas перемещают данные в новую строку - PullRequest
0 голосов
/ 22 февраля 2019

У меня проблемы с загрузкой данных в кадр данных в правильном формате.

Данные, с которыми я работаю, имеют вид:

Sensor Name,Variable,Units,Timestamp,Value,Flagged as Suspect Reading
PER_EMOTE_2202,CO,ugm -3,2019-02-15 15:46:16,476.634102929914,False
PER_EMOTE_2202,Humidity,%,2019-02-15 15:46:16,49.8,False
PER_EMOTE_2202,NO,ugm -3,2019-02-15 15:46:16,68.5581902781,False
PER_EMOTE_2202,NO2,ugm -3,2019-02-15 15:46:16,80.220623065752,False
PER_EMOTE_2202,Sound,db,2019-02-15 15:46:16,69.0,False
PER_EMOTE_2202,Temperature,Celsius,2019-02-15 15:46:16,13.2,False
PER_EMOTE_2202,CO,ugm -3,2019-02-15 15:47:16,475.363796635848,False
PER_EMOTE_2202,NO,ugm -3,2019-02-15 15:47:16,84.7920567981415,False
PER_EMOTE_2202,NO2,ugm -3,2019-02-15 15:47:16,82.3021250062142,False
PER_EMOTE_2202,Sound,db,2019-02-15 15:47:16,69.0,False

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

Например; Желаемый формат

Пока у меня есть следующее:

def load_data(path):

    df = pd.read_csv(path, usecols=['Timestamp', 'Variable', 'Units', 'Value'])
    df = df.set_index('Timestamp')

    return df

Это дает результат; Результат

1 Ответ

0 голосов
/ 22 февраля 2019

Попробуйте использовать сводные таблицы .

def load_data(path):

    df = pd.read_csv(path, usecols=['Timestamp', 'Variable', 'Units', 'Value'])
    df = df.pivot_table(index='Timestamp', columns='Variable', values='Value')

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