pandas 0.23 - DataFrame.eval()

pandas.DataFrame.eval




pandas

pandas.DataFrame.eval

DataFrame.eval(expr, inplace=False, **kwargs) [source]

DataFrame कॉलम पर संचालन का वर्णन करने वाले स्ट्रिंग का मूल्यांकन करें।

केवल स्तंभों पर काम करता है, विशिष्ट पंक्तियों या तत्वों पर नहीं। यह eval से मनमाने ढंग से कोड चलाने की अनुमति देता है, जो आपको इस फ़ंक्शन के लिए उपयोगकर्ता इनपुट पास करने पर कोड इंजेक्शन के लिए असुरक्षित बना सकता है।

पैरामीटर:

expr : str

मूल्यांकन करने के लिए अभिव्यक्ति स्ट्रिंग।

निष्क्रिय : बूल, डिफ़ॉल्ट गलत

यदि अभिव्यक्ति में असाइनमेंट शामिल है, तो ऑपरेशन इनप्ले करने के लिए और मौजूदा DataFrame को म्यूट करें। अन्यथा, एक नया DataFrame वापस आ जाता है।

संस्करण 0.18.0 में नया ।।

kwargs : तानाशाही

query() द्वारा स्वीकृत कीवर्ड तर्कों पर पूर्ण विवरण के लिए eval() लिए दस्तावेज़ देखें।

यह दिखाता है:

ndarray, स्केलर, या पांडा वस्तु

मूल्यांकन का परिणाम है।

यह भी देखें

query()
एक फ्रेम के कॉलम को क्वेरी करने के लिए एक बूलियन अभिव्यक्ति का मूल्यांकन करता है।
DataFrame.assign
किसी स्तंभ के लिए नए मान बनाने के लिए किसी अभिव्यक्ति या कार्य का मूल्यांकन कर सकते हैं।
eval()
विभिन्न बैकेंड का उपयोग करके एक स्ट्रिंग के रूप में पायथन अभिव्यक्ति का मूल्यांकन करें।

टिप्पणियाँ

अधिक जानकारी के लिए eval() लिए एपीआई प्रलेखन देखें। विस्तृत उदाहरणों के लिए, निष्कासन के साथ प्रदर्शन को बढ़ाना देखें।

उदाहरण

>>> df = pd.DataFrame({'A': range(1, 6), 'B': range(10, 0, -2)})
>>> df
   A   B
0  1  10
1  2   8
2  3   6
3  4   4
4  5   2
>>> df.eval('A + B')
0    11
1    10
2     9
3     8
4     7
dtype: int64

असाइनमेंट की अनुमति है हालांकि डिफ़ॉल्ट रूप से मूल DataFrame संशोधित नहीं है।

>>> df.eval('C = A + B')
   A   B   C
0  1  10  11
1  2   8  10
2  3   6   9
3  4   4   8
4  5   2   7
>>> df
   A   B
0  1  10
1  2   8
2  3   6
3  4   4
4  5   2

मूल DataFrame को संशोधित करने के लिए inplace=True true का उपयोग करें।

>>> df.eval('C = A + B', inplace=True)
>>> df
   A   B   C
0  1  10  11
1  2   8  10
2  3   6   9
3  4   4   8
4  5   2   7