[英]Python/Pandas: Conditional summing of columns
在python中,我有一個類似於以下數據的熊貓數據框:
| AUG12 | UNDERLYING | VOL |
|---------------------| | |
| 45 | 49 | 50 | 55 | | |
====================================================|
2012-11-14 | 1 | 1 | 2 | 3 | 49 | ? |
... ... ... ... ...
任務是:對於每一行,查找大於UNDERLYING
(49)的列名稱,將值相加(2 + 3),然后將結果放入VOL
(5)。 如何在python中完成此操作? 提前謝謝了!
您可以使用DataFrame.apply函數
def conditional_sum(row):
underlying = row['UNDERLYING'][0] # extra '[0]' is required due to multi leve index in column names
return row.loc['AUG12'].apply(lambda x: 0 if x < underlying else x).sum()
df.apply(conditional_sum, axis=1)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.