data1={'Policy Number':['FSH1235456','FSH7643643','CHH123124','CHH123145252','CHH124124'],'State':['FL','TX','GA','TX','TX'],'TERR':[1,2,3,4,5]}
data2={'TERR':[1,2,3,4,5],'CHH':[0,.15,.65,.35,.20],'FSH':[0,.15,.25,.35,.20]}
output={'Policy Number':['FSH1235456','FSH7643643','CHH123124','CHH123145252','CHH124124'],'State':['FL','TX','GA','TX','TX'],'TERR':[1,2,3,4,5],'Test':[0,.15,0,0,0]}
df1=pd.DataFrame(data1)
df2=pd.DataFrame(data2)
df3=pd.DataFrame(output)
Тестовые данные выше.
Я пытаюсь создать новый столбец в df1, назовите его df1 ['Test'], который содержит значения df2 ['FSH'] на основе следующегокритерии:
- Состояние 'TX'
- Номер политики содержит 'FSH' 3. Значение df1 ["Terr"] = значение df2 ['TERR']
Просмотр df3 для правильного вывода.
Я попытался сделать следующее:
if df1.State.any()=="TX":
if df1["Policy Number"].str.contains("FSH").any():
for i in df["TERR"]:
df1['% TERR']=df2.loc[[i],["FSH"]]
Однако мой вывод пронизан NAN, а также1 уникальный правильный ответ.
Я пытался проверить, чтобы правильные значения i подавались в df2 через
print(df2.loc[[i],["FSH"]]
и он печатается правильно.
Есть мысли?