我有一个JSON文件,其中value列是一个大整数。用熊猫读取时,该整数值将相同。
一个例子
import pandas as pd
line = '{"value":"383088110696696320"}\n{"value":"383088110696696321"}'
df = pd.read_json(line,lines=True)
print(df)
value
0 383088110696696320
1 383088110696696320
我已经尝试通过以下方式正确阅读它,但是它无法执行数学运算。
df = pd.read_json(line,lines=True,dtype=False)
df['value'] = df['value'].astype(float)
df['value'] = df['value']-383088110696696320
print(df)
value
0 0.0
1 0.0
我应该如何处理?预先感谢。
答案 0 :(得分:2)
不确定是否使用32位或64位计算机,但应尝试使用np.int64
:
import numpy as np
import pandas as pd
line = '{"value":"383088110696696320"}\n{"value":"383088110696696321"}'
df = pd.read_json(line, lines=True, dtype=False)
df['value'] = df['value'].astype(np.int64)
df['value'] = df['value'] - 383088110696696320
print(df)
# value
# 0 0
# 1 1