मैं DataFrame
पंडों में एक पूरे में लागू एक समारोह में एक पंक्ति के सूचकांक का उपयोग करने की कोशिश कर रहा हूं । मेरे पास कुछ इस तरह है:
df = pandas.DataFrame([[1,2,3],[4,5,6]], columns=['a','b','c'])
>>> df
a b c
0 1 2 3
1 4 5 6
और मैं एक फ़ंक्शन को परिभाषित करूंगा जो तत्वों को किसी पंक्ति के साथ एक्सेस करता है
def rowFunc(row):
return row['a'] + row['b'] * row['c']
मैं इसे इस तरह से लागू कर सकता हूं:
df['d'] = df.apply(rowFunc, axis=1)
>>> df
a b c d
0 1 2 3 7
1 4 5 6 34
बहुत बढ़िया! अब क्या होगा अगर मैं अपने फ़ंक्शन में सूचकांक को शामिल करना चाहता हूं? DataFrame
जोड़ने से पहले इसमें दी गई किसी भी पंक्ति का सूचकांक d
होगा Index([u'a', u'b', u'c', u'd'], dtype='object')
, लेकिन मुझे 0 और 1 चाहिए। इसलिए मैं अभी एक्सेस नहीं कर सकता row.index
।
मुझे पता है कि मैं तालिका में एक अस्थायी स्तंभ बना सकता हूं जहां मैं सूचकांक को संग्रहीत करता हूं, लेकिन मैं सोच रहा हूं कि क्या यह कहीं पंक्ति वस्तु में संग्रहीत है।
apply
? यह फ्रेम पर ही वेक्टर ऑप्स प्रदर्शन करने की तुलना में बहुत धीमा है। (कभी-कभी आवेदन कुछ करने का सबसे सरल तरीका है, और प्रदर्शन के विचार अक्सर अतिरंजित होते हैं, लेकिन आपके विशेष उदाहरण के लिए इसका उपयोग करना आसान नहीं है।)