संपादित करें: नीचे इस सवाल का जवाब 0.15.0 से कम पांडा के संस्करणों के लिए ही मान्य है। यदि आप पांडस 15 या उच्चतर चल रहे हैं, तो देखें:
data3['bins_spd'] = pd.qcut(data3['spd_pct'], 5, labels=False)
@unutbu को इंगित करने के लिए धन्यवाद। :)
कहो आप कुछ डेटा है कि आप मेरे मामले विकल्पों फैलता में बिन करना चाहते हैं, है, और आप बाल्टी प्रत्येक अवलोकन करने के लिए इसी के साथ एक नया चर बनाना चाहते हैं। लिंक है कि ऊपर उल्लेख किया है आप ऐसा कर सकते हैं:
print pd.qcut(data3['spd_pct'], 40)
(0.087, 0.146]
(0.0548, 0.087]
(0.146, 0.5]
(0.146, 0.5]
(0.087, 0.146]
(0.0548, 0.087]
(0.5, 2]
जो आप देता है क्या बिन अंतिमबिंदुओं कि प्रत्येक अवलोकन के अनुरूप हैं। हालांकि, अगर आप प्रत्येक अवलोकन के लिए इसी बिन संख्या चाहते हैं तो आप ऐसा कर सकते हैं:
print pd.qcut(data3['spd_pct'],5).labels
[2 1 3 ..., 0 1 4]
यह सबको एक साथ रखें अगर आप सिर्फ बिन संख्या के साथ एक नया चर बनाने के लिए चाहते हैं, यह पर्याप्त होना चाहिए:
data3['bins_spd']=pd.qcut(data3['spd_pct'],5).labels
print data3.head()
secid date symbol symbol_flag exdate last_date cp_flag 0 5005 1/2/1997 099F2.37 0 1/18/1997 NaN P
1 5005 1/2/1997 09B0B.1B 0 2/22/1997 12/3/1996 P
2 5005 1/2/1997 09B7C.2F 0 2/22/1997 12/11/1996 P
3 5005 1/2/1997 09EE6.6E 0 1/18/1997 12/27/1996 C
4 5005 1/2/1997 09F2F.CE 0 8/16/1997 NaN P
strike_price best_bid best_offer ... close volume_y return 0 7500 2.875 3.2500 ... 4.5 99200 0.074627
1 10000 5.375 5.7500 ... 4.5 99200 0.074627
2 5000 0.625 0.8750 ... 4.5 99200 0.074627
3 5000 0.125 0.1875 ... 4.5 99200 0.074627
4 7500 3.000 3.3750 ... 4.5 99200 0.074627
cfadj_y open cfret shrout mid spd_pct bins_spd
0 1 4.5 1 57735 3.06250 0.122449 2
1 1 4.5 1 57735 5.56250 0.067416 1
2 1 4.5 1 57735 0.75000 0.333333 3
3 1 4.5 1 57735 0.15625 0.400000 3
4 1 4.5 1 57735 3.18750 0.117647 2
[5 rows x 35 columns]
आशा इस मदद करता है किसी और को। कम से कम अब खोजना आसान होना चाहिए। :)
बढ़िया! मुझे इस बारे में पता नहीं था। यह इंगित करने के लिए धन्यवाद। – sfortney