我正在尝试将由十六进制值组成的 Pandas 数据框列
data['hexValues']
转换为十进制。
data["decValues"] = data.apply(lambda row: int(str(row["hexValues"]), 16), axis=1)
这行得通,但是列
hexValues
看起来像这样
0 FF
1 F
2 nan
3 nan
4 FFFF
5 FFFF
6 F
7 F
8 F
9 F
10 FF
11 nan
12 nan
我想跳过
nan
值,所以如果值为nan
,则不会发生转换。我想过使用try-except-else
,但我不确定我该怎么做。你能帮帮我吗?
用途:
data["decValues"] = [int(str(x), 16) if pd.notna(x) else np.nan for x in data["hexValues"]]