एक पांडा डेटाफ्रेम का उपयोग करके, मैं प्रत्येक ith पंक्ति लेना चाहता हूं और इसे i-1 वीं पंक्ति से विभाजित करना चाहता हूं। मैं वेक्टराइजेशन का उपयोग करना चाहता हूं (यानी, लूप के लिए नहीं)।

जैसे अगर मेरे पास निम्न डेटाफ्रेम है:

1      10  
2      20  
8      160  
32     480 

मैं इसके साथ समाप्त होगा:

1      10   
2       2   
4       8  
4       3

एन.बी. विभाजन संचालन पुराने तालिका मानों का उपयोग करता है, अद्यतन नहीं।

पी.एस. खराब स्वरूपण के लिए खेद है!

3
Pob Livsig 4 जून 2018, 18:41

1 उत्तर

सबसे बढ़िया उत्तर

div, shift, और fillna का उपयोग करें:

df.div(df.shift(1)).fillna(df).astype(int)

आउटपुट:

   A   B
0  1  10
1  2   2
2  4   8
3  4   3
6
Scott Boston 4 जून 2018, 19:23