Панды читают в MultiIndex данные из CSV-файла - PullRequest
0 голосов
/ 03 июня 2018

У меня есть файл MultiIndex CSV, в котором я хотел бы прочитать.

Данные сохраняются в файле CSV следующим образом:

import pandas as pd
import numpy as np

dfcsv = pd.read_csv("/FilePath/MultiIndex_Example.csv")
dfcsv

, что по существу приводит к кадру данныхниже:

enter image description here

Структура данных Python ниже: (простое восстановление)

d = {'Country': ['City', 'PostCode','Day1','Day2','Day3'], 'UK': ['London', '123',47,42,40],'USA': ['New York', '456',31,22,58]}
dfstd = pd.DataFrame(data=d)

Однако, когда я читаю данные, мне нужен 1-й столбец, чтобы он действовал как мультииндекс.По сути, создание фрейма данных, как показано ниже:

arrays = [['UK','USA'],['London','New York'],['123','456']]
tuples = list(zip(*arrays))
index = pd.MultiIndex.from_tuples(tuples, names=['Country', 'City','Postcode'])
df = pd.DataFrame(np.random.randn(3, 2), index=['Day1', 'Day2', 'Day3'], columns=index)
df.columns 

enter image description here

Мне было интересно, есть ли простой способ добиться этогочерез pd.read_csv или конструкцию pd.MultIndex?

FYI Я попробовал следующее, но не смог заставить его работать Загрузить CSV в Pandas MultiIndex DataFrame

1 Ответ

0 голосов
/ 03 июня 2018

Я думаю, что вам нужно следующее:

dfcsv = pd.read_csv("/FilePath/MultiIndex_Example.csv", index_col=[0], header=[0,1,2])

Здесь index_col примет ваш первый столбец, который является 0 индексом, а заголовок - 1-й и 2-й строкой, как заголовки, которые 0,1,2 как 0-индексированный

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