我有一些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.
我正在尝试升级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.有没有办法在命令中指定版本?或者你如何安装/升级轮文件?
我在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) 当我使用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) 我有一个熊猫数据框:
>>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()方法之前将其删除.我想在每一行中保留唯一值.