मेरे पास एक पंडों का डेटा फ्रेम है जो इस तरह दिखता है (यह एक बहुत बड़ा है)
date exer exp ifor mat
1092 2014-03-17 American M 528.205 2014-04-19
1093 2014-03-17 American M 528.205 2014-04-19
1094 2014-03-17 American M 528.205 2014-04-19
1095 2014-03-17 American M 528.205 2014-04-19
1096 2014-03-17 American M 528.205 2014-05-17
अब मैं पंक्ति द्वारा पंक्ति को पुनरावृत्त करना चाहूंगा और जैसा कि मैं प्रत्येक पंक्ति से गुजरता हूं, प्रत्येक पंक्ति का मूल्य ifor
कुछ शर्तों के आधार पर बदल सकता है और मुझे एक और डेटाफ़्रेम देखने की आवश्यकता है।
अब, मैं इसे I iterate के रूप में कैसे अपडेट करूं। कुछ चीजों की कोशिश की उनमें से कोई भी काम नहीं किया।
for i, row in df.iterrows():
if <something>:
row['ifor'] = x
else:
row['ifor'] = y
df.ix[i]['ifor'] = x
इनमें से कोई भी दृष्टिकोण काम नहीं करता है। मुझे डेटाफ़्रेम में अपडेट किए गए मान दिखाई नहीं देते हैं।
<something>
। आपका कोड वेक्टर किया जा सकता है या नहीं, यह उन चीजों पर निर्भर करेगा। सामान्य तौर पर, से बचें iterrows
। आपके मामले में, आपको निश्चित रूप से इससे बचना चाहिए क्योंकि प्रत्येक पंक्ति एक object
dtype होगी Series
।
df.ix[i,'ifor']
।df.ix[i]['ifor']
समस्याग्रस्त है क्योंकि यह जंजीर अनुक्रमण है (जो पांडा में विश्वसनीय नहीं है)।