Создайте pandas dataframe из словаря, сохраняя порядок столбцов - PullRequest
0 голосов
/ 28 апреля 2018

При создании кадра данных, как показано ниже (инструкции от здесь ), порядок столбцов изменяется с «День, Посетители, Показатель отказов» на «Показатель отказов, День, Посетители»

import pandas as pd

web_stats = {'Day':[1,2,3,4,5,6],
             'Visitors':[43,34,65,56,29,76],
             'Bounce Rate':[65,67,78,65,45,52]}

df = pd.DataFrame(web_stats)

Дает:

Bounce Rate  Day  Visitors

0  65           1    43      
1  67           2    34      
2  78           3    65      
3  65           4    56      
4  45           5    29      
5  52           6    76 

Как сохранить порядок в такте? (т.е. день, посетители, показатель отказов)

Ответы [ 3 ]

0 голосов
/ 28 апреля 2018

Словари не считаются упорядоченными в Python <3.7. </p>

Вы можете использовать collections.OrderedDict вместо:

from collections import OrderedDict

web_stats = OrderedDict([('Day', [1,2,3,4,5,6]),
                         ('Visitors', [43,34,65,56,29,76]),
                         ('Bounce Rate', [65,67,78,65,45,52])])

df = pd.DataFrame(web_stats)
0 голосов
/ 11 марта 2019

Если вы не хотите писать имена столбцов, что становится очень неудобно, если у вас несколько ключей, вы можете использовать

df = pd.DataFrame(web_stats, columns = web_stats.keys())
0 голосов
/ 28 апреля 2018

Один из подходов - использовать columns

Ex:

import pandas as pd

web_stats = {'Day':[1,2,3,4,5,6],
             'Visitors':[43,34,65,56,29,76],
             'Bounce Rate':[65,67,78,65,45,52]}

df = pd.DataFrame(web_stats, columns = ['Day', 'Visitors', 'Bounce Rate'])
print(df)

Выход:

   Day  Visitors  Bounce Rate
0    1        43           65
1    2        34           67
2    3        65           78
3    4        56           65
4    5        29           45
5    6        76           52
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...