Замена столбца dataframe подмножеством значения из другого столбцаPython

Программы на Python
Ответить
Anonymous
 Замена столбца dataframe подмножеством значения из другого столбца

Сообщение Anonymous »

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

Код: Выделить всё

import pandas as pd

df = pd.DataFrame({'Action': ['set', 'boat', 'set', 'kite', 'tree'],
'Name': ['-', 'abc_fred', '-', 'def_xyz', '-'],
'Global': ['barney_blah', 'whatever_xxx', 'wilma_something', 'nevermind_zzz', 'santa_dd']})

print(df)

Action      Name           Global
0    set         -      barney_blah
1   boat  abc_fred     whatever_xxx
2    set         -  wilma_something
3   kite   def_xyz    nevermind_zzz
4   tree         -         santa_dd
Когда значение Action = 'set', я хочу создать значение Name для этой строки на основе первого квалификатора в столбце Global.
Поэтому я хотел бы отправить что-то вроде этого:

Код: Выделить всё

  Action           Name           Global
0    set     PRD_barney      barney_blah
1   boat       abc_fred     whatever_xxx
2    set      PRD_wilma  wilma_something
3   kite        def_xyz    nevermind_zzz
4   tree          Dummy         santa_dd

Я пытаюсь просто заменить значение в поле «Имя», но в итоге оно получается для всех строк. Хотя я не могу заставить работать команду замены.

Код: Выделить всё

if "set" in df["Action"].values:
df["Name"] = "PRD_" + df["Global"].str.split("_", expand=True)[0]
#df["Name"].replace("-", "PRD_" + df["Global"].str.split("_", expand=True))[0]
elif "tree" in df["Actions"].values:
df["Name"] = "Dummy"
Будем благодарны за любую помощь.

Подробнее здесь: https://stackoverflow.com/questions/798 ... her-column
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»