2017-08-04 101 views
1

我試圖轉換包含十六進制值轉換爲文本熊貓十六進制文本轉換

foo_hex bar_hex baz_hex qux_hex foo_text bar_text baz_text qux_text 
30  2D3436 2D3630 3438 

使用在線轉換器中的數據框:http://www.unit-conversion.info/texttools/hexadecimal/

foo_hex bar_hex baz_hex qux_hex foo_text bar_text baz_text qux_text 
30  2D3436 2D3630 3438 0  -46  -60  48 

我行000的的數據幀,所以我想知道這是否可以使用熊貓來完成。

我曾嘗試:

df1['foo_text'] = df1['foo_hex'].apply(lambda x: int(x, base=16)) 

但答案並不如變換工具。

感謝任何幫助!

回答

1

根據提供的示例,您需要將十六進制分組爲2,然後分別爲每個組取十進制值,然後將它們轉換回char(將它們轉換爲文本)。示例 -

def func(a): 
    b = [iter(a)] * 2 
    result = '' 
    for char1,char2 in zip(*b): 
     result = result + chr(int(char1+char2,base=16)) 
    return result 

df1['foo_text'] = df1['foo_hex'].apply(func) 
+0

噢,謝謝!這工作完美:) – Kvothe

相關問題