首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解决Pandas中“远程过程调用协议流中的表数据流不正确”的错误

如何解决Pandas中“远程过程调用协议流中的表数据流不正确”的错误
EN

Stack Overflow用户
提问于 2020-02-10 19:43:25
回答 1查看 1.8K关注 0票数 1

我有一个熊猫数据文件,我正在写到Server中的一个表。该数据框架包含以下d类型:

代码语言:javascript
复制
Contact_ID                      object
Skill_No                       float64
Skill_Name                      object
Campaign_No                    float64
Campaign_Name                   object
Agent_No                       float64
Agent_Name                      object
Team_No                        float64
Team_Name                       object
Start_Date                      object
Disp_Code                      float64
Disp_Name                       object
Disp_Comments                   object

当我试图写入Server时,会出现以下错误:

代码语言:javascript
复制
ProgrammingError: ('42000', '[42000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. Parameter 16 (""): The supplied value is not a valid instance of data type float. Check the source data for invalid values. An example of an invalid value is data of numeric type with scale greater than precision. (8023) (SQLExecDirectW)')

我已经尝试将sql表中的数据类型再次转换为十进制、浮点和返回,但似乎没有任何工作。我怎么才能解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-02 20:26:06

我遇到了同样的错误消息,在我的例子中,这是由pandas.DataFrame的某些列中的浮点数(‘inf’)和浮点数(‘-inf’)值引起的。我通过将无穷大值更改为1或-1来解决这个问题,这在我的项目上下文中是有意义的。或者,您可以删除这些行。

代码语言:javascript
复制
    df.loc[df[col_name] == float('-inf'), col_name] = -1
    df.loc[df[col_name] == float('inf'), col_name] = 1
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60157330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档