Я пытаюсь создать новый столбец в одном из моих фреймов данных, объединив существующие столбцы, найдя значения в словаре.
значениям ["-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-']
— это список?!