अन्य उत्तरों को जोड़कर, Series
वहाँ भी मानचित्र हैं और लागू होते हैं ।
आवेदन एक श्रृंखला से एक DataFrame बना सकते हैं ; हालाँकि, मानचित्र सिर्फ एक श्रृंखला को किसी अन्य श्रृंखला के प्रत्येक कक्ष में रखेगा, जो शायद आप नहीं चाहते हैं।
In [40]: p=pd.Series([1,2,3])
In [41]: p
Out[31]:
0 1
1 2
2 3
dtype: int64
In [42]: p.apply(lambda x: pd.Series([x, x]))
Out[42]:
0 1
0 1 1
1 2 2
2 3 3
In [43]: p.map(lambda x: pd.Series([x, x]))
Out[43]:
0 0 1
1 1
dtype: int64
1 0 2
1 2
dtype: int64
2 0 3
1 3
dtype: int64
dtype: object
इसके अलावा, अगर मेरे पास साइड इफेक्ट्स के साथ एक फ़ंक्शन है, जैसे "वेब सर्वर से कनेक्ट करें", तो मैं शायद apply
स्पष्टता के लिए उपयोग करूंगा ।
series.apply(download_file_for_every_element)
Map
न केवल एक फ़ंक्शन का उपयोग कर सकते हैं, बल्कि एक शब्दकोश या एक अन्य श्रृंखला भी।मान लें कि आप क्रमपरिवर्तन में हेरफेर करना चाहते हैं ।
लेना
1 2 3 4 5
2 1 4 5 3
इस क्रमपरिवर्तन का वर्ग है
1 2 3 4 5
1 2 5 3 4
आप इसका उपयोग करके गणना कर सकते हैं map
। यह सुनिश्चित नहीं है कि यदि स्व-आवेदन को प्रलेखित किया गया है, लेकिन यह काम करता है 0.15.1
।
In [39]: p=pd.Series([1,0,3,4,2])
In [40]: p.map(p)
Out[40]:
0 0
1 1
2 4
3 2
4 3
dtype: int64