0
我有數據來自嵌入式硬件。消息以長十六進制形式出現,但是這個十六進制實際上是硬件在4字節塊中精簡幾組不同的數據。爲了弄清楚這個問題,數據庫將這個長十六進制轉換爲我所訪問層以下的一個十進制數。Python熊貓字符串 - >十六進制 - >整數 - >字符串轉換
我的數據框:
dict = {'A': ['foo', 'bar', 'baz'], 'B': ['1346', '9953', '5246']}
df = pd.DataFrame(dict)
我想列B
轉換成一個名爲LongHex
十六進制,分裂出來的LongHex
最後4個字符,以創建ShortHex
,轉換ShortHex
回叫ShortDec
整數,最後包列LongHex
和ShortHex
與=""
,以便Excel不會將某些十六進制值轉換爲科學記數法。
這是我到目前爲止已經試過:
df['LongHex'] = df['B'].apply(lambda x: hex)
df['ShortHex'] = df['LongHex'].str[-4:]
df['ShortDec'] = df['ShortHex'].apply(lambda x: int)
df['LongHex'] = df['LongHex'].apply(str)
df['ShortHex'] = df['ShortHex'].apply(str)
df['LongHex'] = df['LongHex'].apply(lambda x: '="' + x + '"')
df['ShortHex'] = df['ShortHex'].apply(lambda x: '="' + x + '"')
最終,這個數據幀輸出爲.csv。當我打開該文件,這就是我得到:
foo, 1346, <built-in function hex>, nan, <type 'int'>
bar, 9953, <built-in function hex>, nan, <type 'int'>
baz, 5246, <built-in function hex>, nan, <type 'int'>