2015-10-13 23 views
8

मैं इस तरह एक पांडा डेटा फ्रेम है:अजगर पांडा में एक स्तंभ में एकाधिक स्तंभ मान मर्ज

Column1 Column2 Column3 Column4 Column5 
0 a  1  2  3  4 
1 a  3  4  5 
2 b  6  7  8 
3 c  7  7   

क्या मैं अब क्या करना चाहते स्तंभ 1 और एक नया Columna वाली एक नई dataframe हो रही है। यह Columna कॉलम 2 से सभी मान होने चाहिए - (करने के लिए) n इस तरह (जहां n पंक्ति के अंत में Column2 से स्तंभों की संख्या है):

Column1 ColumnA 
0 a  1,2,3,4 
1 a  3,4,5 
2 b  6,7,8 
3 c  7,7 

मैं कैसे सबसे अच्छा तरीका इस मुद्दे सकता है? कोई भी सलाह सहायक होगी। अग्रिम में धन्यवाद!

उत्तर

16

आप apply पास कॉल कर सकते हैं axis=1apply पंक्ति-वार करने के लिए, तो str और join को dtype कन्वर्ट:

In [153]: 
df['ColumnA'] = df[df.columns[1:]].apply(lambda x: ','.join(x.dropna().astype(int).astype(str)),axis=1) 
df 

Out[153]: 
    Column1 Column2 Column3 Column4 Column5 ColumnA 
0  a  1  2  3  4 1,2,3,4 
1  a  3  4  5  NaN 3,4,5 
2  b  6  7  8  NaN 6,7,8 
3  c  7  7  NaN  NaN  7,7 

यहाँ मैं dropna फोन NaN से छुटकारा पाने के, लेकिन हम करने के लिए फिर से कास्ट करने के लिए की जरूरत है int इसलिए हम स्ट्रैट्स के साथ स्ट्रेट के साथ समाप्त नहीं होते हैं।

+0

तेज उत्तर के लिए धन्यवाद! क्या कॉलम 1 से कॉलम 1 से मूल्यों को बाहर करने का कोई तरीका है? –

+0

क्षमा करें बस अपना वांछित आउटपुट देखा है इसलिए मेरा जवाब – EdChum

+0

अपडेट किया गया है ठीक है, मुझे लगता है कि मैं समझता हूं कि आप इसे कैसे करते हैं! धन्यवाद! –

संबंधित मुद्दे