Как мне сгладить многоуровневую pandas DF? - PullRequest
0 голосов
/ 16 июня 2020

спасибо, что нашли время, чтобы прочитать мой вопрос!

Когда я получаю данные о запасах из API, я возвращаю их в pandas Dataframe. Это отлично работает для меня, когда я запрашиваю 1 символ, но когда я запрашиваю более 1 символа, я теряюсь :):

df return with 3 symbols

Кажется он добавляет дополнительный уровень столбцов с именами символов и ниже, которые имеют обычные столбцы данных запаса OHL C & Volume

Я бы хотел получить эти данные в следующем формате:

Дата - Безопасность - Максимум - Закрытие - Минимум - Открытие - Объем.

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

Может ли кто-нибудь помочь мне здесь, как с этим справиться? Или указать мне правильное направление?

Большое спасибо, Ян

Вот данные CSV, которые я получаю при экспорте в CSV с помощью pandas Writer:

Security,RDSa.AS,RDSa.AS,RDSa.AS,RDSa.AS,RDSa.AS,NESN.S,NESN.S,NESN.S,NESN.S,NESN.S,RO.S,RO.S,RO.S,RO.S,RO.S
Field,HIGH,CLOSE,LOW,OPEN,VOLUME,HIGH,CLOSE,LOW,OPEN,VOLUME,HIGH,CLOSE,LOW,OPEN,VOLUME
Date,,,,,,,,,,,,,,,
2020-06-01,14.7,14.682,14.376,14.58,11787104.0,,,,,,,,,,
2020-06-02,15.238,15.188,14.828,14.87,18512461.0,104.8,102.92,102.92,104.42,6564417.0,337.4,335.6,330.4,337.4,54616.0
2020-06-03,15.928,15.822,15.412,15.412,26078384.0,104.1,103.86,102.62,103.4,6209773.0,338.6,337.6,334.4,338.0,29417.0
2020-06-04,15.944,15.648,15.474,15.8,16866136.0,104.62,102.76,102.56,103.02,7061646.0,341.0,330.8,328.6,338.0,41448.0

вот так:

enter image description here

в это:

enter image description here

Ответы [ 2 ]

0 голосов
/ 16 июня 2020

Я нашел способ сделать это, используя get_level_values, поскольку Пьерок предложил поблагодарить вас. В этом случае:

print (df.iloc [:, df.columns.get_level_values ​​(0) == 'RDSa.AS])

сделал свое дело

0 голосов
/ 16 июня 2020

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

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