小编Zah*_*hra的帖子

在Python中查找列表中的子字符串

背景:

示例列表: mylist = ['abc123', 'def456', 'ghi789']

如果匹配子字符串,我想检索一个元素,比如 abc

码:

sub = 'abc'
print any(sub in mystring for mystring in mylist)
Run Code Online (Sandbox Code Playgroud)

True如果列表中的任何元素包含模式,则上面打印.

我想打印匹配子字符串的元素.所以,如果我正在检查'abc'我只想'abc123'从列表中打印.

python string list

91
推荐指数
5
解决办法
21万
查看次数

从sklearn PCA获得特征值和向量

如何获得PCA应用的特征值和特征向量?

from sklearn.decomposition import PCA
clf=PCA(0.98,whiten=True)      #converse 98% variance
X_train=clf.fit_transform(X_train)
X_test=clf.transform(X_test)
Run Code Online (Sandbox Code Playgroud)

我在文档中找不到它.

我"不能"理解这里的不同结果.

编辑:

def pca_code(data):
    #raw_implementation
    var_per=.98
    data-=np.mean(data, axis=0)
    data/=np.std(data, axis=0)
    cov_mat=np.cov(data, rowvar=False)
    evals, evecs = np.linalg.eigh(cov_mat)
    idx = np.argsort(evals)[::-1]
    evecs = evecs[:,idx]
    evals = evals[idx]
    variance_retained=np.cumsum(evals)/np.sum(evals)
    index=np.argmax(variance_retained>=var_per)
    evecs = evecs[:,:index+1]
    reduced_data=np.dot(evecs.T, data.T).T
    print(evals)
    print("_"*30)
    print(evecs)
    print("_"*30)
    #using scipy package
    clf=PCA(var_per)
    X_train=data.T
    X_train=clf.fit_transform(X_train)
    print(clf.explained_variance_)
    print("_"*30)
    print(clf.components_)
    print("__"*30)
Run Code Online (Sandbox Code Playgroud)
  1. 我希望获得所有特征值和特征向量,而不仅仅是具有收敛条件的简化集.

python scipy pca scikit-learn

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

OSError: [Errno 99] 无法分配请求的地址

尝试jupyter notebook在 CentOS 7上运行。它返回:

OSError: [Errno 99] Cannot assign requested address
Run Code Online (Sandbox Code Playgroud)

和堆栈跟踪:

[user@desktop ~]$ jupyter notebook
Traceback (most recent call last):
  File "/home/use/anaconda3/bin/jupyter-notebook", line 6, in <module>
    sys.exit(notebook.notebookapp.main())
  File "/home/user/anaconda3/lib/python3.6/site-packages/jupyter_core/application.py", line 267, in launch_instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File "/home/user/anaconda3/lib/python3.6/site-packages/traitlets/config/application.py", line 657, in launch_instance
    app.initialize(argv)
  File "<decorator-gen-7>", line 2, in initialize
  File "/home/user/anaconda3/lib/python3.6/site-packages/traitlets/config/application.py", line 87, in catch_config_error
    return method(app, *args, **kwargs)
  File "/home/user/anaconda3/lib/python3.6/site-packages/notebook/notebookapp.py", line 1296, in initialize
    self.init_webapp()
  File "/home/user/anaconda3/lib/python3.6/site-packages/notebook/notebookapp.py", line 1120, in init_webapp
    self.http_server.listen(port, self.ip)
  File "/home/user/anaconda3/lib/python3.6/site-packages/tornado/tcpserver.py", …
Run Code Online (Sandbox Code Playgroud)

centos anaconda jupyter jupyter-notebook

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

如何在scikit-learn中获取LDA的组件?

在sklearn中使用PCA时,可以轻松获取组件:

from sklearn import decomposition
pca = decomposition.PCA(n_components=n_components)
pca_data = pca.fit(input_data)
pca_components = pca.components_
Run Code Online (Sandbox Code Playgroud)

但我不能为我的生活弄清楚如何从LDA中获取组件,因为没有components_属性.sklearn lda中是否有类似的属性?

python machine-learning scikit-learn

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

MongoDB _id(ObjectId)是按升序生成的吗?

我知道当文档插入集合时,_id列如何包含时间戳的表示.这是一个将其转换为时间戳的在线实用程序:http://steveridout.github.io/mongo-object-time/

我想知道的是,对象id字符串本身是否保证维持升序?即这种比较总是返回真实吗?

"newest object id" > "second newest object id"

mongodb objectid

13
推荐指数
3
解决办法
5958
查看次数

将大型列表保存在内存中的替代方法(python)

如果我在python中有一个列表(或数组,字典....)可能超过可用的内存地址空间,(32位python)有什么选项和相对速度?(除了没有列出那么大的列表)列表可能超出内存但我无法事先知道.一旦它开始超过75%我想不再将列表保留在内存中(或者无论如何都是新项目),有没有办法转换为基于文件的中途方法?

什么是最好的(速度进出)文件存储选项?

只需要存储一个简单的数字列表.无需随机第N个元素访问,只需追加/弹出类型操作.

python memory-management file list 32bit-64bit

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

将具有2个级别的因子转换为R中的二进制值0/1

我有一个变量,称为gender二进制分类值"女性"/"男性".我想将其类型更改为整数0/1,以便我可以在回归分析中使用它.即我希望将值"女性"和"男性"映射到1和0.

> str(gender)
gender : Factor w/ 2 levels "female","male":  1 1 1 0 0 0 0 1 1 0 ...
> gender[1]
[1] female
Run Code Online (Sandbox Code Playgroud)

我想转换性别变量类型,以便在查询元素时得到int值1,即

> gender[1]
[1] 1
Run Code Online (Sandbox Code Playgroud)

binary r r-factor

8
推荐指数
3
解决办法
4万
查看次数

定义仅接受特定值范围的Java变量

是否有内置方法来定义接受特定范围内值的字段/变量?我的意思是在编译时解决它的一种方法.

例如,定义一个仅取1-10之间的值的double变量.

java variables static final field

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

通过删除所有未使用的包和缓存来清理 pip

如何删除中所有未使用的包pip

我知道pip-autoremove somepackage -y要删除特定的包及其依赖项,但我希望清理所有未使用的孤立包。

其中conda有一个conda clean -a命令是删除未使用的包和缓存。

python pip

5
推荐指数
0
解决办法
5085
查看次数

如何使用python将不同格式的日期转换为一种格式

输入:一个日期字段,其包括以各种格式(包括:日期yyyy/dd/mmdd-mm-yyyy等),例如:

2017/5/23
22-04-2015
20150504
Run Code Online (Sandbox Code Playgroud)

输出:统一格式的日期字段。所有日期值都应转换为yyyymmdd格式。即上面的输入应生成输出为:

20170523
20150422
20150504
Run Code Online (Sandbox Code Playgroud)

我尝试使用dateutils但输出格式是 2015-05-23

from datetime import datetime
INPUT_FILENAME = 'date.txt'
OUTPUT_FILENAME = 'newfile.txt'
INPUT_DATE_FORMATS = {'column1dt': '%Y%m%d', 'column1dt': '%d/%m/%Y'}
OUTPUT_DATE_FORMAT = '%Y%m%d'
with open(INPUT_FILENAME, 'rt') as finput:
reader = finput.readlines()
with open(OUTPUT_FILENAME, 'wt') as foutput:
    print foutput 
    for row in reader: 
Run Code Online (Sandbox Code Playgroud)

python python-2.7

4
推荐指数
1
解决办法
6010
查看次数