Pandas wide_to_long ведет себя совсем иначе по сравнению с предыдущей версией в Python 2.7

Я обновил свой ноутбук и установил Python 2.7 с Pandas 0.23. Все мои ранее работавшие скрипты больше не запускаются из-за разных результатов wide_to_long.

Фрейм данных выглядит так:

Index    ID     Text_column     abc_A   abc_B   abc_C   abc_D
0       123     some text       True    False   False   True
1       124     another text    False   True    False   False
2       125     different topic False   True    True    False
3       126     set of words    False   False   False   False

Используя следующий код:

    df2=pd.wide_to_long(df1,['abc_'], i='ID', j='Concept').reset_index()

использовал, чтобы дать мне следующий фрейм данных d2:

Index    ID     Concept Text_column     abc_
0        123     A      some text       True
1        123     B      some text       False
2        123     C      some text       False
3        123     D      some text       True
4        124     A      another text    False
5        124     B      another text    True
6        124     C      another text    False
7        124     D      another text    False
8        125     A      different topic False
9        125     B      different topic True
10       125     C      different topic True
11       125     D      different topic False
12       126     A      set of words    False
13       126     B      set of words    False
14       126     C      set of words    False
15       126     D      set of words    False

В версии 0.23 я получаю полностью пустой фрейм данных, например:

Index ID  Concept Text_column abc_A abc_B abc_C abc_D

Я пробовал melt, но я не хочу указывать все столбцы, такие как [abc_A, abc_B и т.д.] в value_vars, поскольку имена переменных сильно различаются для разных проектов, и у меня есть много подобных сценариев.

Как лучше всего решить эту проблему?

Большое спасибо!

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
108
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

При добавлении suffix='\w+' по умолчанию используется номер suffix='\d+'.

pd.wide_to_long(df, ['abc_'], i='ID', j='Concept',suffix='\w+').reset_index()
Out[243]: 
     ID Concept  Index     Text_column   abc_
0   123       A      0        sometext   True
1   124       A      1     anothertext  False
2   125       A      2  differenttopic  False
3   126       A      3      setofwords  False
4   123       B      0        sometext  False
5   124       B      1     anothertext   True
6   125       B      2  differenttopic   True
7   126       B      3      setofwords  False
8   123       C      0        sometext  False
9   124       C      1     anothertext  False
10  125       C      2  differenttopic   True
11  126       C      3      setofwords  False
12  123       D      0        sometext   True
13  124       D      1     anothertext  False
14  125       D      2  differenttopic  False
15  126       D      3      setofwords  False

@ibarant ваш образец не может воспроизвести вашу проблему

BENY 15.08.2018 20:32

Не могли бы вы объяснить, что делает "\ w +"?

ibarant 15.08.2018 20:36

@ibarant получить всю альфа-версию от A до Z

BENY 15.08.2018 20:44

Другие вопросы по теме