【发布时间】:2020-04-10 16:19:10
【问题描述】:
我正在尝试将具有十六进制值的熊猫表转换为十进制。我目前正在使用以下内容一次做一列:
df["a"] = df["a"].apply(int,base=16)
df["b"] = df["b"].apply(int,base=16)
df["c"] = df["c"].apply(int,base=16)
df["d"] = df["d"].apply(int,base=16)
无论如何要一口气完成这一切?类似于:
df[['a','b','c','d']] = df[['a','b','c','d']].apply(int,base=16,axis=1)
我试过了:
df[['a','b','c','d']] = df[['a','b','c','d']].apply(lambda x: int(x,base=16),axis=1)
但这也不起作用。
样本数据:
A B C
0 0x26 0x526aada8ffd9e0000 0x15f90
1 0x26 0x0 0x222e0
2 0x25 0x0 0x222e0
【问题讨论】:
-
也许
df[['a','b','c','d']] = df[['a','b','c','d']].applymap(int, base=16)? -
等一下我现在试试
-
你能展示一些示例数据吗?
-
applymap() 得到了一个意外的关键字参数 'base
-
我会在一秒钟内添加它