У меня есть фрейм данных, как показано ниже
Name ID Rank
==============================
Jobn 0001 1
Wick Nan Nan
John 0101 22
lewis Nan Nan
James 0201 12
Bo Nan Nan
nd Nan Nan
Здесь мне нужно объединить имена на основе значений идентификатора и ранга, если его Nan, то мне нужно объединить имена в разных строках, пока значения не будут не Nan.
Вывод выглядит следующим образом
Name ID Rank
==============================
Jobn Wick 0001 1
John lewis 0101 22
James Bo nd 0201 12
Я попробовал следующий код
for rowid in range(len(tableDf)):
for colid in range(len(tableDf.columns)):
if pd.isna(tableDf.iloc[rowid,colid]):
print(tableDf.iloc[rowid-1,colid])
#print(type(tableDf.iloc[rowid - 1, colid]))
if type(tableDf.iloc[rowid - 1, colid]) == str:
print("got a string nan")
# tableDf.at[rowid-1,colid] = str(tableDf.iloc[rowid-1,colid]) + str(tableDf.iloc[rowid,colid])
else:
print("got a NON string nan")
# tableDf.at[rowid - 1, colid] = tableDf.iloc[rowid - 1, colid] + tableDf.iloc[rowid, colid]
Но я не могу объединить строки. Любые предложения, как Для решения этой проблемы? Примечание. Имена столбцов не являются фиксированными. Может измениться.