Pandasql:Python int太大,无法转换为SQLite整数

Pandasql:Python int太大,无法转换为SQLite整数,python,pandas,pandasql,Python,Pandas,Pandasql,在运行代码时,我遇到了以下“Python int太大,无法转换为SQLite INTEGER”错误。我是psql的初学者 代码: 错误必须与聚合一起出现。如何解决错误?任何帮助都将不胜感激。我认为这意味着您有一个溢出错误,因此它破坏了int的边界。这似乎是df1中的数据类型的问题。如果你跑 df1.info() 您可能会看到一些数值的类型是Int64;如果是这种情况,那么可以将这些值转换为较小的整数(前提是这些值适合新的数据类型)。为了转换为更小的整数,您可能需要执行以下操作: df1[&qu

在运行代码时,我遇到了以下“Python int太大,无法转换为SQLite INTEGER”错误。我是psql的初学者

代码:


错误必须与聚合一起出现。如何解决错误?任何帮助都将不胜感激。

我认为这意味着您有一个溢出错误,因此它破坏了int的边界。

这似乎是df1中的数据类型的问题。如果你跑

df1.info()
您可能会看到一些数值的类型是
Int64
;如果是这种情况,那么可以将这些值转换为较小的整数(前提是这些值适合新的数据类型)。为了转换为更小的整数,您可能需要执行以下操作:

df1["Utilized_FVO"] = df["Utilized_FVO"].astype(np.int8)
df1["UP_Generation"] = df["UP_Generation"].astype(np.int8)

做了一个df1['Useded_FVO'].dtypes和df1['UP_Generation'].dtypes都返回为dtype('float64')我认为这里可能还有其他问题,我从查询中删除了'sum(Useded_FVO)作为FVO'和'avg(UP_Generation)作为UP_Gen'行。仍然有相同的错误。什么类型是UP_cust_num?它是dtype('O')我无法发布数据帧的示例,因为它包含客户端信息。你是对的,这是一个数据问题。通过将excel文件保存为.csv并通过read_csv将其读入pandas,我能够克服这个问题。
df1["Utilized_FVO"] = df["Utilized_FVO"].astype(np.int8)
df1["UP_Generation"] = df["UP_Generation"].astype(np.int8)