我正在尝试学习如何从页面自动获取网址.在下面的代码中,我试图获取网页的标题:
import urllib.request
import re
url = "http://www.google.com"
regex = r'<title>(,+?)</title>'
pattern = re.compile(regex)
with urllib.request.urlopen(url) as response:
html = response.read()
title = re.findall(pattern, html)
print(title)
Run Code Online (Sandbox Code Playgroud)
我得到了这个意想不到的错误:
Traceback (most recent call last):
File "path\to\file\Crawler.py", line 11, in <module>
title = re.findall(pattern, html)
File "C:\Python33\lib\re.py", line 201, in findall
return _compile(pattern, flags).findall(string)
TypeError: can't use a string pattern on a bytes-like object
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我正在尝试使用来自以下堆栈的想法创建3D彩色条形图:this stackoverflow post。
首先,我使用以下代码创建3D条形图:
import numpy as np
import matplotlib.colors as colors
import matplotlib.cm as cm
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
samples = np.random.randint(91,size=(5000,2))
F = np.zeros([91,91])
for s in samples:
F[s[0],s[1]] += 1
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
x_data, y_data = np.meshgrid( np.arange(F.shape[1]),
np.arange(F.shape[0]) )
x_data = x_data.flatten()
y_data = y_data.flatten()
z_data = F.flatten()
ax.bar3d(x_data,y_data,np.zeros(len(z_data)),1,1,z_data )
plt.show()
Run Code Online (Sandbox Code Playgroud)
以下是输出:
现在,我尝试使用以下代码中的逐字逐字为这些条涂上颜色:this stackoverflow post。这是代码:
import numpy as …Run Code Online (Sandbox Code Playgroud) 初学者 pySpark 问题在这里:
如何找到所有向量都为零的索引?
经过一系列转换后,我有一个大约 2.5M 行的 Spark df 和一个长度大约为 262K 的 tfidf 稀疏向量。我想执行 PCA 降维,以使这些数据对于多层感知器模型拟合来说更易于管理,但 pyspark 的 PCA 仅限于最多 65,535 列。
+--------------------+
| tfidf_features| df.count() >>> 2.5M
+--------------------+ Example Vector:
|(262144,[1,37,75,...| SparseVector(262144, {7858: 1.7047, 12326: 1.2993, 15207: 0.0953,
|(262144,[0],[0.12...| 24112: 0.452, 40184: 1.7047,...255115: 1.2993, 255507: 1.2993})
|(262144,[0],[0.12...|
|(262144,[0],[0.12...|
|(262144,[0,6,22,3...|
+--------------------+
Run Code Online (Sandbox Code Playgroud)
因此,我想删除稀疏 tfidf 向量的索引或列,这些索引或列对于所有约 2.5M 文档(行)均为零。这有望使我的 PCA 最大值低于 65,535。
我的计划是创建一个 udf,(1)将稀疏向量转换为密集向量(或 np 数组)(2)搜索所有向量以查找所有向量均为零的索引(3)删除索引。然而,我正在努力解决第二部分(找到所有向量为零的索引)。这是我到目前为止的情况,但我认为我的攻击计划太耗时而且不太Pythonic(特别是对于这么大的数据集):
import numpy as np
row_count = df.count()
def find_zero_indicies(df):
vectors = df.select('tfidf_features').take(row_count)[0]
zero_indices = [] …Run Code Online (Sandbox Code Playgroud) python ×3
apache-spark ×1
matplotlib ×1
numpy ×1
pyspark ×1
python-3.x ×1
rgba ×1
web-crawler ×1