2014-11-26 11 views
6

में सूचियों के कॉलम पर एक पांडस डेटाफ्रेम में कॉलम एकत्र करें, निम्नलिखित DataFrame पर विचार करें।डेटाफ्रेम

n v1 v2 v3 v4 v5 
0 1 2 3 4 5 
1 1 2 3 4 5 
2 1 2 3 4 5 

प्रत्येक पंक्ति के लिए, मैं v3, एक सूची में v4v2 के मूल्यों को जोड़ते हैं और v5 के साथ इस सूची में मानों गुणा और कोई नया स्तंभ में परिणाम डाल v6 ऐसी है कि मैं के साथ समाप्त करना चाहते हैं एक DataFrame इस तरह:

n v1 v6 
0 1 [10, 15, 20] 
1 1 [10, 15, 20] 
2 1 [10, 15, 20] 

मैं कैसे पांडा में इस लक्ष्य को हासिल कर सकते हैं?

उत्तर

14

आप इस तरह एक पंक्ति में कर सकते हैं:

>>> df['v6'] = df[['v2', 'v3', 'v4']].mul(df['v5'], axis=0).values.tolist() 
>>> df 
    v1 v2 v3 v4 v5   v6 
0 1 2 3 4 5 [10, 15, 20] 
1 1 2 3 4 5 [10, 15, 20] 
2 1 2 3 4 5 [10, 15, 20] 

यह स्तंभों की प्रासंगिक गुणन, v2, v3 और v4 मूल्यों सूची (पंक्ति दर पंक्ति) की एक सूची के लिए बाहर डालता है और बनाता है नया कॉलम v6