ฉันมี 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
ง่ายๆก็คือ,ผมต้องการจะแปลงค่าต่างๆในนิ้ว/ft ต้องมิเตอร์หน่วยแปลงค่าต่างๆอย่าง Bilinmiyor
แล้ว Unknown
ต้อง NaN
ราหน่วย specification เหมือน 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'])
แต่มันไม่ได้ผล ฉันสงสัยว่าถ้าฉันควรจะใช้ทำซ้ำแต่มันดูเหมือนเรื่องซับซ้อต้อง iterate ผ่านทุกเซลล์ในคอลัมน์นี้เพราะวันที่มีมากกว่า 2 ล้านคนแถว.