вычисляемый столбец
Создал новый столбец "cfo" в датафрейме на основе имеющегося "кто", теперь необходимо в новом столбце на основании результатов подставить названия например: если получили 03 то заменить на АТК, если получили 80 то заменить на АТС
import pandas as pd
import numpy as np
x = pd.read_excel(r"C:\Users\Admin\Desktop\Лист Microsoft Excel.XLSX")
x["cfo"]= x["кто"].astype(str).str[4:6]
print(x)
Ответы (1 шт):
Автор решения: strawdog
→ Ссылка
Если у вас есть датафрейм, например:
import pandas as pd
df = pd.DataFrame({'cfo':[10, "AA", 4.9]})
cfo
0 10
1 AA
2 4.9
то, получить новый столбец с желаемым результатом можно простым маппингом по словарю:
subs = {10:"ten", "AA":"3as", 4.9:"fournine"} # словарь для замены
df["кто"] = df["cfo"]
df = df.replace({"кто":subs})
теперь df:
cfo кто
0 10 ten
1 AA 3as
2 4.9 fournine
Либо еще короче, с тем же результатом:
df = df.assign(кто=df["cfo"].map(subs))
