簡體   English   中英

pandas 為 dataframe 的每一行計算新值的方法是什么?

[英]What's the pandas way of computing a new value for each row of a dataframe?

我有一個這樣的 dataframe:

     name   upvotes  posts  
  0  Britt  4        232
  1  Henry  1        152
     ...
  9  Kevin  1        48

我想創建一個新列,我們稱之為clout ,即用戶分數和帖子的 function。

在標准票價 Python 中,如果這是一個字典列表,我將按如下方式迭代處理該問題:

for row in myListOfDicts:
    row['clout'] = computeClout(row['upvotes'],row['posts'])

但是根據這個答案,這種方法在 Pandas 中似乎是錯誤的: https://stackoverflow.com/a/55557758/4382391

那么在這種情況下我應該怎么做呢?

你可以試試

df['clout' ] = df[['upvotes', 'Posts' ]].apply(computeClout, axis=1) 

您可以按以下方式使用申請

df['clout'] = df.apply(lambda row: computeClout(row['upvotes'],row['posts']), axis=1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM