При использовании pd.concat () имена столбцов результирующего кадра отображаются в скобках и с добавленной запятой - PullRequest
1 голос
/ 28 марта 2020

Я довольно новичок в Python программировании, и я не могу понять, почему это происходит ... Я использую "Набор данных о намерениях покупки в Интернете" из репозитория машинного обучения UCI. Я разделил данные, которые имеют числовые и категориальные характеристики, на два отдельных фрейма данных (один для кат. Данных и один для числовых данных), чтобы придать значения категориальным переменным и стандартизировать числовые переменные. Я создал два кадра данных: 'StdNumFeat' для стандартизированных чисел и 'DumData' для суммированных категориальных переменных.

Это выдержка из StdNumFeat.head()

   Administrative   Administrative_Duration Informational   Informational_Duration  ProductRelated
0   -0.696993              -0.457191          -0.396478            -0.244931           -0.691003
1   -0.696993              -0.457191          -0.396478            -0.244931           -0.668518
2   -0.696993              -0.457191          -0.396478            -0.244931           -0.691003
3   -0.696993              -0.457191          -0.396478            -0.244931           -0.668518
4   -0.696993              -0.457191          -0.396478            -0.244931           -0.488636

И это выдержка из DumData.head()

    Weekend Month_Aug   Month_Dec   Month_Feb   Month_Jul   Month_June  Month_Mar
0    False      0          0            1           0           0           0
1    False      0          0            1           0           0           0
2    False      0          0            1           0           0           0
3    False      0          0            1           0           0           0
4    False      0          0            1           0           0           0

Когда я объединяю два кадра данных, используя следующие код:

data = pd.concat([StdNumFeat, DumData], axis=1)

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

   (Administrative,)    (Administrative_Duration,)  (Informational,)    (Informational_Duration,)
0      -0.696993               -0.457191               -0.396478               -0.244931
1      -0.696993               -0.457191               -0.396478               -0.244931
2      -0.696993               -0.457191               -0.396478               -0.244931
3      -0.696993               -0.457191               -0.396478               -0.244931
4      -0.696993               -0.457191               -0.396478               -0.244931

Кто-нибудь знает, почему в именах столбцов после запятой и скобки? Что это обозначает? Примечание: я использую ноутбуки Jupyter в Анаконде. Спасибо.

1 Ответ

0 голосов
/ 28 марта 2020

Проблема на одном уровне MultiIndex в StdNumFeat, очевидно, причина заключается в задании имен столбцов по вложенному списку:

StdNumFeat.columns = [['Administrative', 'Administrative_Duration', 'Informational',
                      'Informational_Duration', 'ProductRelated']]

Правильный путь:

StdNumFeat.columns = ['Administrative', 'Administrative_Duration', 'Informational',
                     'Informational_Duration', 'ProductRelated']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...