我需要使用SQL炼金术将数据帧从pandas导出到microsoftsqlserver。许多列是字符串,缺少值和一些很长的整数,例如999999999999999999999999999999999999999。这些数字是某种外键,所以值本身没有任何意义,所以我可以把它们转换成字符串。在
在尝试导出到SQL时,这将导致SQL炼金术中出现以下错误:
OverflowError: int too big to convert
我尝试用astype(str)转换为string,但后来遇到了一个问题,即缺少的值(标识为nan)会被转换为字符串“nan”,因此SQL不会将它们视为null,而是将它们视为字符串“nan”。在
我找到的唯一解决方案是先转换为str,然后用努比·楠. 有更好的方法吗?这很麻烦,速度相对较慢,而且尽可能不符合语法:首先,我将所有内容转换为字符串,转换将空值转换为字符串,因此我将这些值转换为NaN(只能是浮点值),最后得到一个混合类型的列。在
或者,我是不是只能忍气吞声,接受熊猫在处理缺失的价值观方面很可怕?在
我举个例子:
^{pr2}$
使用
np.where
肯定比替换要快一些时间安排:
^{pr2}$相关问题 更多 >
编程相关推荐