我讀過一些csv文件中的大熊貓數據。數據不完整,因此包含許多nan值。 我想向將十六進制值轉換爲十進制值的數據添加一列。不幸的是,具有十六進制值的列全部讀取爲浮點數,而不是字符串,因爲它們恰好具有這些值。 實施例數據Python如何將十六進制浮點數轉換爲十進制
val
0 20.0
1 nan
2 20.0
簡單的方式轉換成十六進制在python爲十進制似乎是:int('20.0',16)
,其應產生32
。
但是,既然這是熊貓我不能將值轉換爲int,或者至少我不斷收到一個錯誤說明。 我當前的代碼是:
df['valdec'] = np.where(np.isnan(df['val']),
df['val'],
int(df['val'].astype(int).astype(str), 16))
這失敗,錯誤:
ValueError: Cannot convert NA to integer
而不astype(int)
值爲"20.0"
不能被轉換。 有沒有另一種方法來解釋浮點值作爲十六進制值,並在使用熊貓數據框時轉換爲十進制?
如果我的回答能夠解決您的問題,那麼你能接受的話,將會有我的答案左上方的空刻度,如果你需要的東西還那麼你需要發表意見,並通過添加更多的信息 – EdChum