2015-12-01 10 views
10

मैंअन्य स्तंभों

A B 
1 4 
2 6 
3 9 

तरह मूल्यों के साथ एक dataframe मैं स्तंभ ए और बी से मूल्यों को जोड़कर एक नया स्तंभ जोड़ने की जरूरत है से मूल्यों को जोड़कर पांडा dataframe में नया स्तंभ बनाओ,

A B C 
1 4 5 
2 6 8 
3 9 12 
की तरह

मेरा मानना ​​है कि यह लैम्ब्डा फ़ंक्शन का उपयोग करके किया जा सकता है, लेकिन मैं यह नहीं समझ सकता कि इसे कैसे किया जाए।

+1

आप 'df कर सकते हैं [ 'सी'] = df.sum (अक्ष = 1)' – EdChum

उत्तर

16

बहुत ही सरल:

df['C'] = df['A'] + df['B'] 
+11

मुझे निम्न चेतावनी मिलती है: एक मान डेटाफ्रेम से स्लाइस की एक प्रति पर सेट करने का प्रयास कर रहा है। .loc [row_indexer, col_indexer] = value का उपयोग करने का प्रयास करें – n00b

+0

आप पांडा का किस संस्करण का उपयोग कर रहे हैं? – DeepSpace

+0

रनिंग __version__ मुझे '0.16.2' – n00b

17

सबसे आसान तरीका DeepSpace जवाब उपयोग करने के लिए किया जाएगा। हालांकि, अगर आप वास्तव में एक गुमनाम समारोह आप उपयोग कर सकते हैं उपयोग करना चाहते हैं लागू होते हैं:

df['C'] = df.apply(lambda row: row['A'] + row['B'], axis=1) 
+0

देता है कि वेरिएंट कॉलम का समर्थन कैसे करें? – Jinstrong

7

आप sum फ़ंक्शन का उपयोग करें कि प्राप्त करने के लिए कर सकता है के रूप में @EdChum टिप्पणी में उल्लेख किया है:

df['C'] = df[['A', 'B']].sum(axis=1) 

In [245]: df 
Out[245]: 
    A B C 
0 1 4 5 
1 2 6 8 
2 3 9 12 
2

पांडा संस्करण के रूप में इस प्रकार 0.16.0 आप assign उपयोग कर सकते हैं:

df = pd.DataFrame({"A": [1,2,3], "B": [4,6,9]}) 
df.assign(C = df.A + df.B) 

# Out[383]: 
# A B C 
# 0 1 4 5 
# 1 2 6 8 
# 2 3 9 12 

आप इस प्रकार एकाधिक स्तंभों इस तरह से जोड़ सकते हैं:

df.assign(C = df.A + df.B, 
      Diff = df.B - df.A, 
      Mult = df.A * df.B) 
# Out[379]: 
# A B C Diff Mult 
# 0 1 4 5  3  4 
# 1 2 6 8  4 12 
# 2 3 9 12  6 27 
4

एंटोन के जवाब पर एक छोटे से अधिक का निर्माण, तो आप इस तरह सभी कॉलम जोड़ सकते हैं:

df['sum'] = df[list(df.columns)].sum(axis=1) 
+1

मुझे विश्वास नहीं है कि इस उत्तर के लिए कई अपवर्तक नहीं हैं। यह एकमात्र ऐसा है जहां आपको योग प्राप्त करने के लिए अलग-अलग कॉलम नाम टाइप करने की आवश्यकता नहीं है! धन्यवाद @ sparrow! – Geek

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