簡體   English   中英

Python / Pandas:列的條件求和

[英]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.

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