विशिष्ट परिस्थितियों में कॉलम और पंक्तियों में स्वैप मूल्य [डुप्लिकेट]

Dec 03 2020

मेरे पास निम्नलिखित पांडा डेटाफ्रेम हैं:

और मैं जांचना चाहता हूं कि क्या कॉलम में मान 'A start'नकारात्मक है। यदि स्तंभ में स्वैप मूल्यों से नकारात्मक 'start'और 'end'और स्तंभों में 'A start'और 'A end'पंक्ति में जहां

'A start'एक नकारात्मक मूल्य है। तो परिणाम होना चाहिए:

मैंने इसे हल करने की कोशिश की whereलेकिन यह काम नहीं किया।

मैं अजगर 3.8 का उपयोग कर रहा हूं।

आपकी मदद के लिए बहुत बहुत शुक्रिया।

जवाब

AasthaSethia Dec 03 2020 at 20:37

हे इस पोस्ट को देखो यह आपके प्रश्न के समान है जो इसे मदद कर सकता है! अगर मुझे पता नहीं है तो अन्य विकल्पों की तलाश कर सकते हैं।

सिर्फ एक लाइन का उपयोग करके पांडा डेटा फ्रेम में चयनित पंक्तियों के लिए कॉलम मानों को स्वैप करने के लिए सही सिंटैक्स क्या है?

kirtipurohit Dec 03 2020 at 20:42

यहां सबसे सरल विधि का उपयोग किया गया है where


df = pd.DataFrame()
df['start']   = [1,5,7,2]
df['end']     = [4,6,8,9,]
df['A start'] = [234, -475, -765, 113]
df['A end']   = [-654, 312, 987, -553]


df[['A start','A end']] = df[['A end','A start']].where(df['A start'] < 0 , df[['A start','A end']].values)
df

आउटपुट: