Панды создают новый столбец, используя словарь

Я пытаюсь создать новый столбец в одном из моих фреймов данных, объединив существующие столбцы, найдя значения в словаре.

значениям ["-R1-"] и значениям ["-R2-"] присваивается значение через список с использованием pysimplegui, которые представляют собой список всех заголовков столбцов в df.

Если я поставлю его в первую строку, он отлично работает и создаст новый столбец.

df['Unique_ID_Test'] = df["Account Code] + df["Transaction Id] + df['Abs'].astype(str)

Однако, если я попытаюсь найти значение с помощью словаря, он выдаст мне сообщение об ошибке ниже, где они должны дать тот же результат.

df['Unique_ID_Test'] = df[values["-R1-"]] + df[values["-R2-"]] + df['Abs'].astype(str)

ValueError: Expected a 1D array, got an array with shape (5253, 5255)

Кто-нибудь знает, почему это не сработает? Сообщение об ошибке не кажется особенно полезным (для меня).

Извлечение кода списка для справки

        [pg.Listbox(values=list, size=(60, 15), key='-Amt-')],
        [pg.Listbox(values=list, size=(60, 15), key = "-R1-")],
        [pg.Listbox(values=list, size=(60, 15), key = "-R2-")],

Может быть, значение values['-R1-'] — это список?!

Jason Yang 17.03.2022 20:13

Вы были абсолютно правы, я понял это вскоре после этого. Поместите это как ответ, и я могу отметить вас как ответ. Спасибо за вашу помощь. @ДжейсонЯнг

mot375 18.03.2022 14:35

Ладно и отвечать не надо.

Jason Yang 18.03.2022 18:02
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
3
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

На вопрос отвечает Джейсон Ян выше.

Как сейчас написано, ваш ответ неясен. Пожалуйста, редактировать, чтобы добавить дополнительную информацию, которая поможет другим понять, как это относится к заданному вопросу. Дополнительную информацию о том, как писать хорошие ответы, можно найти в справочном центре.

Community 21.03.2022 20:24

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