0
浮動小数点/倍精度/整数を文字列からどのように分けることができますか。基本的にはパンダの列に値があります。 例えば:列の値から浮動小数点/倍精度/整数を除きます
150.39999389648438cfm
0.30000001192092896inHO
63.70000076293945%
73.0999984741211F
85.9000015258789kW
75.5F
100%
44S
32F
false
NA
true
私の結果セットには、任意のアルファベット/特殊文字のない値になります。
150.39999389648438
0.30000001192092896
63.70000076293945
73.0999984741211
85.9000015258789
75.5
100
44
32
false
true
現在、私はこのためにreを使用しています。私はもっと最適化された何かを探しています。
def is_alphanumeric(inst):
return re.search("(\d)+.(\d)+[a-z]+$", inst)
is_alphanumeric(str(df.iloc[0][i])):
df.iloc[:, i] = df.iloc[:, i].apply(lambda x:float(''.join(ele for ele in x if ele.isdigit() or ele == '.')))
is_percentage(str(df.iloc[0][i])):
df.iloc[:, i] = df.iloc[:, i].apply(lambda x:float(''.join(ele for ele in x if ele.isdigit() or ele == '.')))
が見えます終わり。あなたは '\ D + $'正規表現でそれを行うことができます。 –
@WiktorStribiżewは、あなたが 'replace'を使ってこれを行うことを示唆しています:' df [col] .astype(str).str.replace( '(\ D + $)()'、 '') ' – EdChum
真偽値もブール値になります。だから私はこれらの値が変更されていないことを確認する必要があります –