我在python中有一个奇怪的转换问题。我有一个对象列,我想将其转换为整数列以节省一些内存空间。我运行以下命令:
df['Number'] = df['IntC'].astype(int)
对于某些行,它最终会像这样:
IntC Number
233004885002 -188830000475
233048850003 -195883838200
这是怎么回事?我希望得到结果:
IntC Number
233004885002 233004885002
233048850003 233048850003
答案 0 :(得分:1)
如果将对象转换为int,为什么不做因数
df['Number'] = df.IntC.factorize()[0]
答案 1 :(得分:0)
使用 Lambda 函数是一个非常普遍的选择
df['Number'] = df.IntC.apply(lambda c: int(c))