मैं एक dataframe के साथ एक स्तंभ का नाम है 'ऊंचाई' और मैं चाहते हैं के लिए मूल्यों को बदलने में तैरने लगते हैं. डिफ़ॉल्ट इकाई में है मीटर है, लेकिन यह कुछ मूल्यों में गलत प्रारूप, या इंच में. यह की तरह लग रहा है
height
0 16
1 7
2 7
3 6 m
4 2.40
5 5'8"
6 3m
7 6,9
8 9;6;3
9 Unknown
10 4.66
11 Bilinmiyor
12 11' 4"
dtype: object
असल में, मैं करने के लिए की जरूरत में मूल्यों को बदलने इंच/फुट करने के लिए मीटर इकाई के मूल्यों को बदलने की तरह Bilinmiyor
और Unknown
करने के लिए NaN
निकालने के लिए , इकाई विनिर्देश की तरह m
m
, जगह में अल्पविराम दशमलव संख्या के साथ .
और सबसे बड़ी संख्या के लिए मूल्य 9;6;3
. अंतिम dtypes होना चाहिए फ्लोट या int.
मैं नया हूँ करने के लिए अजगर तो मैं सच में पता नहीं कैसे उपयोग करने के लिए उन्नत तकनीक इतनी दूर है. मैं कोशिश कर रहा था को प्राप्त करने के लिए कार्य का उपयोग कर
def to_num(a):
try:
return float(pd.to_numeric(a, errors = 'raise'))
except ValueError:
return a
df['height'] = to_num(df['height'])
लेकिन यह काम नहीं किया । मैं सोच रहा था कि अगर मैं का उपयोग करना चाहिए चलना लेकिन यह बहुत जटिल लगता है पुनरावृति करने के लिए सभी कोशिकाओं के माध्यम से इस स्तंभ में है, क्योंकि डेटासेट गया है, 2 लाख से अधिक पंक्तियाँ हैं.