Одновременная запись в несколько столбцов фрейма данных

#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