2015-03-13 14 views
7

के संचयी मानों पर फ़ंक्शन लागू करें क्या पांडा में rolling_apply के बराबर है जो रोलिंग मानों की बजाय श्रृंखला के संचयी मानों पर फ़ंक्शन लागू करता है? मुझे cumsum, cumprod, cummax, और cummin मौजूद है, लेकिन मैं एक कस्टम फ़ंक्शन लागू करना चाहता हूं।पांडा श्रृंखला

उत्तर

16

आप pd.expanding_apply का उपयोग कर सकते हैं। नीचे एक साधारण उदाहरण है जो केवल एक संचयी योग करता है, लेकिन आप जो भी फ़ंक्शन चाहते थे उसे लिख सकते हैं।

import pandas as pd 

df = pd.DataFrame({'data':[10*i for i in range(0,10)]}) 

def sum_(x): 
    return sum(x) 


df['example'] = pd.expanding_apply(df['data'], sum_) 

print(df) 

# data example 
#0  0  0 
#1 10  10 
#2 20  30 
#3 30  60 
#4 40  100 
#5 50  150 
#6 60  210 
#7 70  280 
#8 80  360 
#9 90  450 
+1

नए पांडा> = 0.18.0 में इसे DataFrame.expanding() द्वारा प्रतिस्थापित किया गया है।() लागू करें – luca

संबंधित मुद्दे