#python #pandas #dataframe #replace
#python #pandas #фрейм данных #заменить
Вопрос:
У меня есть набор данных, в котором номера деталей разбиты на подинвентории.
Я хочу заменить некоторые значения, например, «COIL 8» просто на «COIL», чтобы я мог группировать похожие части вместе. Данные представляют собой объект в фрейме данных. Я удалил начальные и конечные пробелы. Я также скопировал значение из фрейма данных в код, чтобы убедиться, что количество пробелов между COIL и 8 одинаковое. Изменение подинвентория на «COIL_8» не является вариантом…вот как я получаю данные. Мне нужно только изменить значения в столбце «Subinventory», но нет проблем с применением кода ко всему фрейму данных.
Я просмотрел документацию и попробовал несколько вариантов, но не получил что-то правильное, поскольку ни одно из значений не заменяется.
elemental_inv_df.replace({'Subinventory': 'COIL 8'}, {'Subinventory': 'COIL'}, regex=True, inplace = True)
elemental_inv_df = elemental_inv_df.replace("FAB 1", "FAB")
elemental_inv_df = elemental_inv_df.replace(regex={'COIL 33': 'COIL'})
elemental_inv_df = elemental_inv_df.replace(['DECOIL 1'], 'DECOIL')
elemental_inv_df
Ответ №1:
По сути, вы заменяете, но не сохраняете изменения.
Попробуйте :
elemental_inv_df.replace({'Subinventory': 'COIL 8'}, {'Subinventory': 'COIL'}, regex=True, inplace = True)
или
elemental_inv_df = elemental_inv_df.replace({'Subinventory': 'COIL 8'}, {'Subinventory': 'COIL'}, regex=True)
Редактировать :
Вам необходимо проверить фактическое значение, которое вы пытаетесь заменить, проверив
elemental_inv_df.Subinventory
вывод
0 FAB
1 COIL 8
2 DECOIL
3 COIL 33
4 DECOIL
5 FAB 1
6 FAB
7 COIL 12
8 DECOIL 1
9 FAB
10 DECOIL
11 COIL 27
12 DECOIL
13 FAB
14 COIL 7
15 DECOIL
16 FAB
17 FAB
18 RUAN-RCVD
19 FAB
20 FAB
21 FAB
22 FAB
23 FAB
24 FAB
25 FAB
26 FAB
27 FAB
28 FAB
Так что это не так
"COIL 8" but "COIL 8" you need to replace.
Комментарии:
1. Хммм, ну, я изменил код, но получил тот же результат… Я ценю вашу помощь… отредактированное исходное изображение, чтобы отразить изменения…
2. Можете ли вы выполнить elemental_inv_df .head().to_clipboard(), а затем вставить его в свой пост, чтобы мы могли протестировать его самостоятельно?
3. Я загрузил записную книжку Jupyter и файлы данных в github.com/danawoodruff/Inventory.git . Спасибо, что помогли мне… Я не совсем понимаю это.
4. Я использую Google Colab. Файл Excel открывается в записной книжке Jupyter или в виде файла Excel на рабочем столе … не уверен, почему вы получите сообщения о повреждении. Я перезагрузил его на Github, прошу прощения.
5. Я нашел вашу проблему, в основном вы думаете, что это «КАТУШКА 8», но на самом деле это «КАТУШКА 8″, хм, мы этого здесь не видим, но это намного больше » «, чем один.