#python-3.x #pandas #dataframe
#python-3.x #pandas #фрейм данных
Вопрос:
У меня есть этот код, в котором я пишу в несколько столбцов фрейма данных. Есть ли способ упростить это, чтобы это происходило в одной строке кода вместо нескольких строк?
tempSummary.at[name,'Wins'] = wins
tempSummary.at[name,'Singles'] = singles
tempSummary.at[name,'Doubles'] = dubs
tempSummary.at[name,'Triples'] = trips
tempSummary.at[name,'Quads'] = quads
tempSummary.at[name,'Raw Score'] = rawScore
tempSummary.at[name,'Total Score'] = tempTotal
Ответ №1:
Использование .loc
вместо .at
которого позволяет использовать список.
Общее решение:
df.loc[<row name>, [<list of col names>]] = [<list of vals>]
Ваше конкретное решение:
tempSummary.loc[name, ['Wins', 'Singles', 'Doubles', 'Triples', 'Quads', 'Raw Score', 'Total Score']] = [wins, singles, dubs, trips, quads, rawScore, tempTotal]
Используется в любое .at
время, почти всегда лучше использовать .loc