Mám datovém s sloupec s názvem "výškou" a chci převést hodnoty do plováku. Výchozí jednotkou je metr, ale to má nějaké hodnoty v nesprávném formátu, nebo v palcích. Vypadá to, že
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
V podstatě potřebuji převést hodnoty v cm/ft na čtvereční jednotku, převést hodnoty jako Bilinmiyor
a Unknown
k NaN
vyjměte jednotku specifikace jako m
m
, nahradit čárkou v desetinných čísel s .
a držet největší číslo pro hodnotu 9;6;3
. Poslední dtypes by měl být float nebo int.
Jsem nový python, takže opravdu nevím, jak používat pokročilé techniky tak daleko. Snažil jsem se dosáhnout úkol pomocí
def to_num(a):
try:
return float(pd.to_numeric(a, errors = 'raise'))
except ValueError:
return a
df['height'] = to_num(df['height'])
ale to nefungovalo. Přemýšlel jsem, jestli bych měl použít iteraci, ale to se zdá být velmi komplikované iterovat přes všechny buňky v tomto sloupci, protože dataset má více než 2 miliony řádků.