Присвоение значения столбцу путем фильтрации трех 3 различных значений столбца в Python 3 - PullRequest
0 голосов
/ 05 ноября 2019

у меня 2 фрейма данных. первый фрейм данных содержит Score и Grades второй фрейм данных содержит Names, Score, и я хочу назначить Grades на основе оценки, обеспеченной Name.

Ниже приведены шаги, которые я выполняю: -

  1. Отфильтруйте фильтр «Оценка»
  2. во втором столбце фрейма данных "Score_1 ", где значение не равно 0 и поиск с первым фреймом данных
  3. Отфильтровать фильтр" Score_1 "
  4. во втором столбце фрейма данных" Score_2 ", где значение не равно 0и поиск с первым кадром данных
  5. Отфильтровать поле «Score_2»

Ниже описывается, что происходит, когда мы применяем фильтры и vlookup 1. Если Score_1 пуст, он присваивает значение Value Score 2или Score_3, в зависимости от того, какое значение равно 2. Если Score_2 не заполнено, он присваивает значение из Score_3 3. Если Score_3 пусто, он присваивает значение из Score_2 4. Если все столбцы Счета aпусто, затем пусто.

Я пробовал несколько способов, но безуспешно. Ниже приведен код.

df_row=df1.loc[df1.Score.isna(),'Score_1']=df1.loc[df1.Score_1.isna()].Score_2
df_row=pd.merge(df1[['Name','Score_2']],df,left_on='Score_2',right_on= 'Grade')
df_row.head(20)
[Grades][1]
[Name][2]
[Output][3]


  [1]: https://i.stack.imgur.com/Unzjs.png
  [2]: https://i.stack.imgur.com/Xdpk9.png
  [3]: https://i.stack.imgur.com/KIyPf.png
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...