मैं एक स्तंभ है कि एक प्रारंभिक मूल्य के साथ शुरू होता उत्पन्न करने के लिए की जरूरत है, और फिर एक समारोह है कि उस स्तंभ के पिछले मान होते हैं द्वारा उत्पन्न होता है। उदाहरण के लिएपांडा: स्वयं को संदर्भित अतीत के साथ एक कॉलम बनाने को महत्व देता
df = pd.DataFrame({'a': [1,1,5,2,7,8,16,16,16]})
df['b'] = 0
df.ix[0, 'b'] = 1
df
a b
0 1 1
1 1 0
2 5 0
3 2 0
4 7 0
5 8 0
6 16 0
7 16 0
8 16 0
अब, मैं पिछली पंक्ति के न्यूनतम और दो जोड़कर कॉलम 'बी' के बाकी हिस्सों को उत्पन्न करना चाहता हूं। एक समाधान
for i in range(1, len(df)):
df.ix[i, 'b'] = df.ix[i-1, :].min() + 2
होगा वांछित आउटपुट
a b
0 1 1
1 1 3
2 5 3
3 2 5
4 7 4
5 8 6
6 16 8
7 16 10
8 16 12
में परिणामस्वरूप पांडा एक 'साफ़' तरीका यह है है? अधिमानतः एक है कि गणना vectorize हैं?
मैं इस तरह से नहीं सोच सकता कि इसमें पुनरावृत्ति शामिल नहीं है। लेकिन मैं कहना है आप का उपयोग करने की जरूरत नहीं है कि '.ix []'; तुम सिर्फ 'df.b [i] = [i-1] .min() df.iloc + 2' हो सकता है। – chrisaycock