小编sen*_*nce的帖子

Python AttributeError:模块“字符串”没有属性“maketrans”

尝试在 Python 3.5.2 shell 中运行命令时收到以下错误:

Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:01:18) [MSC v.1900 32 bit      
(Intel)] on win32 Type "copyright", "credits" or "license()" for more information.

>>> folder = 'C:/users/kdotz/desktop'
>>> f = open(folder + '/genesis.txt', 'r')
>>> import operator, time, string
>>> start=time.time()
>>> genesis = {}
>>> for line in f:
line=line.split()
for word in line:
    word = word.lower()
    new_word=word.translate(string.maketrans("",""), string.punctutation)
    if new_word in genesis:
        genesis[new_word]+=1
    else:
        genesis[new_word]=1
Run Code Online (Sandbox Code Playgroud)

错误:

Traceback (most recent call last):
  File "<pyshell#15>", line …
Run Code Online (Sandbox Code Playgroud)

python attributeerror python-3.x

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

无法从 sklearn.externals.joblib 导入 Sklearn

我是初学者,刚开始接触机器学习。我正在尝试导入类似imputerfrom 的类,sklearn但我无法做到。

from sklearn.preprocessing import Imputer,LabelEncoder,OneHotEncoder,StandardScaler
Run Code Online (Sandbox Code Playgroud)

导入错误:无法从“sklearn.externals.joblib”导入名称“版本”(C:\ProgramData\Anaconda3\lib\site-packages\sklearn\externals\joblib__init__.py)

python-3.x scikit-learn anaconda joblib

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

“PolynomialFeatures”对象没有属性“predict”

我想对以下回归模型应用 k 折交叉验证:

  1. 线性回归
  2. 多项式回归
  3. 支持向量回归
  4. 决策树回归
  5. 随机森林回归

我可以对除多项式回归之外的所有内容应用 k 折交叉验证,这会给我带来这个错误PolynomialFeatures' object has no attribute 'predict。如何解决这个问题。我是否正确地完成了这项工作,实际上我的主要动机是看看哪个模型表现更好,那么有没有更好的方法来完成这项工作?

# Compare Algorithms
import pandas
import matplotlib.pyplot as plt
from sklearn import model_selection
from sklearn.linear_model import LinearRegression

from sklearn.preprocessing import PolynomialFeatures
from sklearn.svm import SVR
from sklearn.tree import DecisionTreeRegressor
from sklearn.ensemble import RandomForestRegressor

# load dataset
names = ['YearsExperience', 'Salary']
dataframe = pandas.read_csv('Salary_Data.csv', names=names)
array = dataframe.values
X = array[1:,0]
Y = array[1:,1]

X = X.reshape(-1, 1)
Y = Y.reshape(-1, 1)

# …
Run Code Online (Sandbox Code Playgroud)

python regression python-3.x scikit-learn cross-validation

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

无需包装器或使用 API:Python 即可访问 Google 趋势数据

我正在尝试编写一个 Python 程序来从 Google 趋势 (GT) 中收集数据 - 具体来说,我想自动打开 URL 并访问折线图中显示的特定值:

在此处输入图片说明

我会很高兴下载 CSV 文件,或者通过网络抓取值(根据我对 Inspect Element 的阅读,清理数据只需要一两个简单的拆分)。我要进行许多搜索(许多不同的关键字)

我正在创建许多 URL 来从 Google 趋势中收集数据。我使用了测试搜索中的实际 URL。URL 示例:https : //trends.google.com/trends/explore?q= sports%20cars &geo= US 在浏览器上实际搜索此 URL 会显示相关的 GT 页面。当我尝试通过程序访问它时,问题就出现了。

我看到的大多数回复都建议使用来自 Pip 的公共模块(例如 PyTrends 和“非官方 Google Trends API”)——我的项目经理坚持我不使用不是由站点直接创建的模块(即:API 是可以接受的,但仅限于官方的 Google API)。只有 BeautifulSoup 被批准为插件(不要问为什么)。

下面是我尝试过的代码示例。我知道这是基本的,但是在我收到的第一个请求中:

HTTPError:HTTP 错误 429:未知”:请求过多。

对其他问题的一些回答提到了 Google Trends API - 这是真的吗?我在官方 API 上找不到任何文档。

这是另一篇文章,其中概述了我尝试过但对我不起作用的解决方案:

https://codereview.stackexchange.com/questions/208277/web-scraping-google-trends-in-python

url = 'https://trends.google.com/trends/explore?q=sports%20cars&geo=US'

html = urlopen(url).read()

soup = bs(html, 'html.parser')

divs = soup.find_all('div')

return divs
Run Code Online (Sandbox Code Playgroud)

python beautifulsoup request web-scraping google-trends

6
推荐指数
1
解决办法
5556
查看次数

如何在 Plotly 的情节内定位图例

我从 Plotly 页面得到了这段代码。我需要使背景透明并突出显示轴。还有位于情节内的传说。

import plotly.graph_objects as go

fig = go.Figure()

fig.add_trace(go.Scatter(
    x=[1, 2, 3, 4, 5],
    y=[1, 2, 3, 4, 5],
    name="Increasing"
))

fig.add_trace(go.Scatter(
    x=[1, 2, 3, 4, 5],
    y=[5, 4, 3, 2, 1],
    name="Decreasing"
))

fig.update_layout(legend_title='<b> Trend </b>')
fig.show()
Run Code Online (Sandbox Code Playgroud)

上面的代码显示了下面的输出:

在此处输入图片说明

我的预期输出:

在此处输入图片说明

如何转换第一张图像以获得第二张图像的特征?

python graph legend python-3.x plotly

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

Python sklearn 安装窗口

当尝试使用 pip 在 Windows 10 上安装 Python 的 sklearn 包时,我得到一个 EnvironmentError ,告诉我没有这样的文件或特定文件的目录:

错误:由于环境错误,无法安装包:[Errno 2] 没有这样的文件或目录:'C:\Users\Rik\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\ site-packages\sklearn\datasets\tests\data\openml\292\api-v1-json-data-list-data_name-australian-limit-2-data_version-1-status-deactivated.json.gz'

我多次尝试重新安装以下软件包:

  • scikit 学习
  • scipy
  • 学习

我还尝试下载 sklearn 的 github 主文件夹并将其粘贴到安装程序期望文件所在的目录中,即使这样,在使用 pip 安装时它也会告诉我文件丢失。

此外,我尝试通过 github 存储库下载并运行来安装它

python setup.py install
Run Code Online (Sandbox Code Playgroud)

但这会导致奇怪的 Microsoft Visual Studio 错误,因为显然它正在尝试运行测试程序或其他东西,但不确定。

有什么建议可以解决这个问题吗?

python scikit-learn sklearn-pandas

6
推荐指数
1
解决办法
2867
查看次数

美丽的汤找到具有隐藏风格的元素

我的简单需求。如何查找当前在网页上不可见的元素?我在猜测style="visibility:hidden"或者style="display:none"是隐藏元素的简单方法,但 BeautifulSoup 不知道它是否隐藏。

例如,HTML 是:

Textbox_Invisible1: <input id="tbi1" type="text" style="visibility:hidden">
Textbox_Invisible2: <input id="tbi2" type="text" class="hidden_elements">
Textbox1: <input id="tb1" type="text">
Run Code Online (Sandbox Code Playgroud)

所以我首先担心的是 BeautifulSoup 无法确定上述任何文本框是否被隐藏:

# Python 2.7
# Import BeautifulSoup
>>> source = """Textbox_Invisible1: <input id="tbi1" type="text" style="visibility:hidden">
...  Textbox_Invisible2: <input id="tbi2" type="text" class="hidden_elements">
...  Textbox1: <input id="tb1" type="text">"""
>>> soup1 = BeautifulSoup(source)
>>> soup1.find(id='tb1').hidden
False
>>> soup1.find(id='tbi1').hidden
False
>>> soup1.find(id='tbi2').hidden
False
>>> 
Run Code Online (Sandbox Code Playgroud)

我唯一的问题是,有没有办法找出隐藏的元素?(我们还必须考虑复杂的 HTML,其中可能隐藏了具有元素的元素)

html python beautifulsoup

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

python networkx中的图例

我有以下代码来绘制带有节点的图形,但我没有添加适当的图例:(抱歉,我无法发布图像,看来我没有足够的声誉)

我想要一个有 4 种颜色的图例,例如“浅蓝色 = 过时,红色 = 草稿,黄色 = 实装,深蓝色 = init”。

我看过一些带有“分散”的解决方案,但我认为它太复杂了。有没有办法做到这一点plt.legend(G.nodes)

这是代码:

import networkx as nx
import matplotlib.pyplot as plt
import numpy as np
G=nx.Graph()
G.add_node("kind1")
G.add_node("kind2")
G.add_node("Obsolete")
G.add_node("Draft")
G.add_node("Release")
G.add_node("Initialisation")
val_map = {'kind1': 2,'kind2': 2,'Obsolete': 2,'Initialisation': 1,'Draft': 4,'Release': 3}
values = [val_map.get(node, 0) for node in G.nodes()]
nodes = nx.draw(G, cmap = plt.get_cmap('jet'), node_color = values)

plt.legend(G.nodes())
plt.show() 
Run Code Online (Sandbox Code Playgroud)

python legend networkx

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

h5py文件和pickle文件保存模型的区别

我想要获得模型保存的清晰图像。神经网络中有超参数和模型。

训练模型后,我想保存所有内容以使用它们,而无需重新训练模型。

当我将模型保存为 h5py 文件(.H5)时,它是否也会保存超参数?

如果是,pickle 文件的用途是什么?

python pickle python-3.x h5py keras

5
推荐指数
1
解决办法
8325
查看次数

计算 Pandas DataFrame 中每行的最小值

我有这个数据框df

A   B   C   D
1   3   2   1
3   4   1   2
4   6   3   2
5   4   5   6
Run Code Online (Sandbox Code Playgroud)

我想添加一个计算最小值的列,通过将 A 列切片到 D 列(实际df更大,所以我需要对其进行切片),即

Dmin
1
1
2
4
Run Code Online (Sandbox Code Playgroud)

我可以计算 1 行的最小值,如下所示

df.iloc[0].loc['A':'D'].min()
Run Code Online (Sandbox Code Playgroud)

我对整个 DataFrame 尝试了以下操作,所有这些都给出了NaN

df['Dmin']=df.loc[:,'A':'D'].min()

df['Dmin']=df.iloc[:].loc['A':'D'].min()

df['Dmin']=df.loc['A':'D'].min()
Run Code Online (Sandbox Code Playgroud)

python minimum slice dataframe pandas

5
推荐指数
1
解决办法
4228
查看次数