[英]Python Pandas Subset Hex String, Convert to Decimal
我有一个数据帧。 B列包含4个字符的十六进制值:
dict = {'A': ['foo', 'bar', 'baz'], 'B': ['1346', '0f46', '5a46']}
df = pd.DataFrame(dict)
我只对列B中十六进制的前两个字符感兴趣。我想用十六进制中只有前两个字符替换B列,然后将它们转换为十进制。
所以最终结果应该是一个如下所示的数据框:
A B
foo 19
bar 15
baz 90
我甚至无法弄清楚如何获得前两个字符的子设置。 这似乎应该有效,但它没有:
df.B.str[:2]
任何帮助将不胜感激。
您可以使用str[:2]
对列进行切片,然后调用apply
并使用lambda将十六进制转换为十进制:
In [255]:
df['B'] = df['B'].str[:2].apply(lambda x: int(x,16))
df
Out[255]:
A B
0 foo 19
1 bar 15
2 baz 90
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.