заполнить пустые значения одного информационного кадра значениями другого информационного кадра на основе условий-панд - PullRequest
0 голосов
/ 03 декабря 2018

enter image description here

У меня есть датафрейм выше df, и у меня следующий фрейм данных как df2

enter image description here

Я хочу заполнить отсутствующие значения в df значениями в df2, соответствующими идентификатору.Также для Player1, Player2, Player3.Если значение отсутствует. Я хочу заменить Player1, Player2, Player3 of df соответствующими значениями df2.Таким образом, результирующий кадр данных будет выглядеть следующим образомdf2.До сих пор я пытался заполнить пустые значения в df значениями в df2.

df=pd.read_csv('file1.csv')
for s in list(df.columns[1:]):
   df[s]=df[s].str.strip()
df.fillna('',inplace=True)
df.replace(r'',np.nan,regex=True,inplace=True)
df2=pd.read_csv('file2.csv')
for s in list(df2.columns[1:]):
  df2[s]=df2[s].str.strip()
df.set_index('Team ID',inplace=True)
df2.set_index('Team ID',inplace=True)
df.fillna(df2,inplace=True)
df.reset_index(inplace=True)

enter image description here

Я получаю результат выше. Какможно получить результат в изображении № 3?

1 Ответ

0 голосов
/ 03 декабря 2018

Использование combine_first

df1=df1.set_index('Team ID')
df2=df2.set_index('Team ID')

df2=df2.combine_first(df1.replace('',np.nan)).reset_index()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...