मैं पांडस के लिए बहुत नया हूं (यानी, 2 दिनों से कम)। हालांकि, मुझे दो कॉलम को किसी अन्य स्थिति के साथ संयोजन के लिए सही वाक्यविन्यास का पता लगाना प्रतीत नहीं होता है।पाइथन पांडा में if/else के साथ दो स्तंभों को कैसे जोड़ना है?
असल में, मैंने 'ज़िप' का उपयोग करके इसे करने का एक तरीका पता लगाया। यही वह है जो मैं पूरा करना चाहता हूं, लेकिन ऐसा लगता है कि पांडा में ऐसा करने का एक और अधिक प्रभावी तरीका हो सकता है।
पूर्णता के लिए, मैं कुछ पूर्व प्रसंस्करण मैं चीजों को स्पष्ट बनाने के लिए कर में शामिल हैं:
records_data = pd.read_csv(open('records.csv'))
## pull out a year from column using a regex
source_years = records_data['source'].map(extract_year_from_source)
## this is what I want to do more efficiently (if its possible)
records_data['year'] = [s if s else y for (s,y) in zip(source_years, records_data['year'])]
मैं आश्चर्य है कि क्या आप 'record_data [' year '] = record_data [' source '] लिख सकते हैं यदि record_data [' source '] else record_data [' year '] '। – minopret
नहीं! -------------------------------------------------- ------------------------- वैल्यूएरर ट्रेसबैक (सबसे हालिया कॉल अंतिम)() में - ---> 1 एक्स = record_data ['स्रोत'] अगर record_data ['स्रोत'] अन्यथा record_data ['year'] वैल्यूएरर: एक से अधिक तत्व वाले सरणी का सत्य मान संदिग्ध है। A.any() या a.all() –
pocketfullofcheese
का उपयोग करें, मैं देख रहा हूं [डेटा सेट ओवरलैपिंग का संयोजन] (http://pandas.pydata.org/pandas-docs/stable/basics.html#combining-overlapping-data -sets)। हो सकता है कि आप इसे जितना तेज़ कर सकें उतना तेज़ कर सकें। मैं केवल आपके प्रश्न से चिंतित था। मुझे पांडस से कोई परिचितता नहीं है। – minopret