小编San*_*noj的帖子

构建多元回归模型会抛出错误:"Pandas数据转换为numpy dtype对象.使用np.asarray(data).`检查输入数据

我有一些pandas数据帧,其中一些分类预测变量(即变量)为0和1,以及一些数字变量.当我适合像以下的stasmodel:

est = sm.OLS(y, X).fit()
Run Code Online (Sandbox Code Playgroud)

它抛出:

Pandas data cast to numpy dtype of object. Check input data with np.asarray(data). 
Run Code Online (Sandbox Code Playgroud)

我使用了转换DataFrame的所有dtypes df.convert_objects(convert_numeric=True)

在此之后,所有数据框变量的dtypes都显示为int32或int64.但最后它仍然显示dtype: object,像这样:

4516        int32
4523        int32
4525        int32
4531        int32
4533        int32
4542        int32
4562        int32
sex         int64
race        int64
dispstd     int64
age_days    int64
dtype: object
Run Code Online (Sandbox Code Playgroud)

这里4516,4523是变量标签.

任何的想法?我需要在数百个变量上构建一个多元回归模型.为此,我连接了3个pandas DataFrames,以提出用于模型构建的最终DataFrame.

python numpy pandas statsmodels

17
推荐指数
2
解决办法
3万
查看次数

如何升级anaconda中的scikit-learn包

我正在尝试升级scikit-learn的包从0.16升级到0.17.为此,我试图使用本网站的二进制文件:http://www.lfd.uci.edu/~gohlke/pythonlibs/#scikit-learn.我有Windows 7 x64位.我在本地下载了相关的包,并提供了以下命令,并且要求已经是最新的:

C:\Users\skumar>pip install --upgrade --use-wheel --no-index --find-links=../../
SOURCE/APPS scikit-learn
Ignoring indexes: https://pypi.python.org/simple
Requirement already up-to-date: scikit-learn in c:\anaconda3\lib\site-packages
Run Code Online (Sandbox Code Playgroud)

然后我尝试从远程站点升级它并得到类似的结果:

C:\Users\skumar>pip install --upgrade --use-wheel --no-index --trusted-host www.
lfd.uci.edu --find-links=http://www.lfd.uci.edu/~gohlke/pythonlibs/ scikit-learn

Ignoring indexes: https://pypi.python.org/simple
Requirement already up-to-date: scikit-learn in c:\anaconda3\lib\site-packages
Run Code Online (Sandbox Code Playgroud)

在远程站点上有两个版本,即0.16和0.17.有没有办法在命令中指定版本?或者你如何安装/升级轮文件?

python scikit-learn anaconda

16
推荐指数
5
解决办法
7万
查看次数

多处理程序在Anaconda笔记本中具有AttributeError

我在Windows 7 64位上运行一个简单的"Hello World"程序,其规格如下:

Python 3.4.3 | Anaconda 2.3.0 (64-bit) | [MSC v.1600 64 bit (AMD64)] IPython 4.0.0
Run Code Online (Sandbox Code Playgroud)

该程序:

from multiprocessing import Process, freeze_support

def f():
    print ('hello world!')

if __name__ == '__main__':
    #freeze_support()
    Process(target=f).start()
Run Code Online (Sandbox Code Playgroud)

给出以下错误:

[I 15:02:23.855 NotebookApp] Saving file at /uhc/FeatureContributionToK-meansClu
sterWithPC.ipynb
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Anaconda3\lib\multiprocessing\spawn.py", line 106, in spawn_main
    exitcode = _main(fd)
  File "C:\Anaconda3\lib\multiprocessing\spawn.py", line 116, in _main
    self = pickle.load(from_parent)
AttributeError: Can't get attribute 'f' on module …
Run Code Online (Sandbox Code Playgroud)

python anaconda python-multiprocessing

7
推荐指数
1
解决办法
1794
查看次数

获得ValueError:endog和exog的索引不对齐

当我使用FOR循环运行迭代来构建多个模型时,我遇到了上述错误.前两个具有相似数据集的模型构建良好.在构建第三个模型时,我收到此错误.抛出错误的代码是当我使用python的Statsmodel包调用sm.logit()时:

y = y_mort.convert_objects(convert_numeric=True)

#Building Logistic model_LSVC
print("Shape of y:", y.shape, " &&Shape of X_selected_lsvc:", X.shape)
print("y values:",y.head())
logit = sm.Logit(y,X,missing='drop') 
Run Code Online (Sandbox Code Playgroud)

出现的错误:

Shape of y: (9018,)  &&Shape of X_selected_lsvc: (9018, 59)
y values: 0    0
1    1
2    0
3    0
4    0
Name: mort, dtype: int64
ValueError                                Traceback (most recent call last)
<ipython-input-8-fec746e2ee99> in <module>()
    160     print("Shape of y:", y.shape, " &&Shape of X_selected_lsvc:", X.shape)
    161     print("y values:",y.head())
--> 162     logit = sm.Logit(y,X,missing='drop')
    163     # fit the model
    164 …
Run Code Online (Sandbox Code Playgroud)

python-3.x pandas statsmodels

5
推荐指数
2
解决办法
9756
查看次数

删除一行pandas数据帧中的重复值

我有一个熊猫数据框:

>>df_freq = pd.DataFrame([["Z11", "Z11", "X11"], ["Y11","",""], ["Z11","Z11",""]], columns=list('ABC'))

>>df_freq
    A   B   C
0   Z11 Z11 X11
1   Y11     
2   Z11 Z11 
Run Code Online (Sandbox Code Playgroud)

我想确保每行只有唯一值.因此它应该是这样的:删除的值可以替换为零或空

    A   B   C
0   Z11 0   X11
1   Y11     
2   Z11 0   
Run Code Online (Sandbox Code Playgroud)

我的数据框很大,有数百列和数千行.目标是计算该数据框中的唯一值.我通过将数据帧转换为矩阵并应用来实现

>>np.unique(mat.astype(str), return_counts=True)
Run Code Online (Sandbox Code Playgroud)

但是在某些行中会出现相同的值,我想在应用np.unique()方法之前将其删除.我想在每一行中保留唯一值.

python numpy pandas

3
推荐指数
1
解决办法
561
查看次数