如何解决StatsModels 可以处理 Pandas 的可为空的 Int64 数据类型吗?如果没有,最好的解决方法是?
(我认为)我发现 statsmodels 模块(或至少我正在使用的部分,请参见下面的示例)无法处理 Pandas 的可为空的 Int64 数据类型。 下面是一个小的(虽然我怀疑是最小的)工作示例。
这很好用:
import statsmodels.formula.api as smf
import pandas as pd
x= pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]],columns=['a','b','c'])
mod = smf.ols(formula = 'a ~ b + c',data = x)
# worked just fine. data types are (non-nullable) int64's
但这不会:
import statsmodels.formula.api as smf
import pandas as pd
x= pd.DataFrame([[1,'c'])
x = x.convert_dtypes()
mod = smf.ols(formula = 'a ~ b + c',data = x)
# now an error: TypeError: Cannot interpret 'Int64Dtype()' as a data type
我的推断是否正确?如果是这样,是否有最好的(或至少是巧妙的)解决方法?
统计模型版本:0.12.2 熊猫版本:1.1.5
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。