Я обновил свой ноутбук и установил 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, поскольку имена переменных сильно различаются для разных проектов, и у меня есть много подобных сценариев.
Как лучше всего решить эту проблему?
Большое спасибо!





При добавлении 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
Не могли бы вы объяснить, что делает "\ w +"?
@ibarant получить всю альфа-версию от A до Z
@ibarant ваш образец не может воспроизвести вашу проблему