如何迭代从.groupby('...').size()命令生成的Pandas Series 并获取组名和计数.
举个例子,如果我有:
foo
-1 7
0 85
1 14
2 5
Run Code Online (Sandbox Code Playgroud)
我怎样才能循环它们以便每次迭代我会在变量中得到-1&7,0和85,1和14以及2和5?
我尝试了枚举选项,但它不太有用.例:
for i, row in enumerate(df.groupby(['foo']).size()):
print(i, row)
Run Code Online (Sandbox Code Playgroud)
它不会返回-1,0,1和2,i而是返回0,1,2,3.
我是Weka的新手,在命令行上对Weka来说更新.我发现文档很差,我正在努力弄清楚要做的一些事情.例如,想要获取两个.arff文件,一个用于训练,一个用于测试,并获得测试数据中缺失标签的预测输出.
我怎样才能做到这一点?
我将此代码作为起始块
java -classpath weka.jar weka.classifiers.meta.FilteredClassifier
-t "training_file_with_missing_values.arff"
-T "test_file_with_missing_values.arff"
-F weka.filters.unsupervised.attribute.ReplaceMissingValues -- -c last
-W weka.classifiers.functions.MultilayerPerceptron -- -L 0.3 -M 0.2 -H a
Run Code Online (Sandbox Code Playgroud)
运行该代码给了我"非法选项-c last",我不知道为什么.我也不会使用MLP,因为当我从文本数据中获得几千个特征时,NN往往太慢.我知道如何将其更改为另一个分类器(如NB或libSVM,这样很好).
但是我不确定如何在一次调用中添加多个过滤器,因为我还需要添加StringToWordVector过滤器(可能还有重新排序过滤器以使类成为最后一个,而不是第一个属性).
然后我如何让它实际输出每个类的预测标签?然后将这些存储在初始数据的arff中.
美好的一天,我已经在这里和谷歌进行了一些搜索,但还没有找到解决这个问题的解决方案.
场景是:
我有一个Python脚本(2.7)循环遍历许多URL(例如,想想亚马逊页面,抓取评论).每个页面都有相同的HTML布局,只是抓取不同的信息.我使用Selenium和无头浏览器,因为这些页面需要执行javascript以获取信息.
我在本地计算机上运行此脚本(OSX 10.10).Firefox是最新的v59.Selenium版本为3.11.0,使用geckodriver v0.20.
这个脚本在本地没有问题,它可以运行所有的URL并刮除页面没有问题.
现在,当我将脚本放在我的服务器上时,唯一的区别是它是Ubuntu 16.04(32位).我使用适当的geckodriver(仍然是v0.20),但其他一切都是相同的(Python 2.7,Selenium 3.11).它似乎随机崩溃无头浏览器,然后所有browserObjt.get('url...')不再工作.
错误消息说:
消息:无法解读牵线木偶的响应
任何进一步的页面selenium请求都会返回错误:
消息:尝试在不建立连接的情况下运行命令
要显示一些代码:
当我创建驱动程序时:
options = Options()
options.set_headless(headless=True)
driver = webdriver.Firefox(
firefox_options=options,
executable_path=config.GECKODRIVER
)
Run Code Online (Sandbox Code Playgroud)
driver作为参数传递给脚本的函数,browserObj然后用于调用特定页面,然后一旦加载它就传递给BeautifulSoup进行解析:
browserObj.get(url)
soup = BeautifulSoup(browserObj.page_source, 'lxml')
Run Code Online (Sandbox Code Playgroud)
该错误可能指向正在崩溃浏览器的BeautifulSoup行.
可能导致此问题的原因,我该怎么做才能解决问题?
编辑:添加指向同一事物的堆栈跟踪:
Traceback (most recent call last):
File "main.py", line 164, in <module>
getLeague
File "/home/ps/dataparsing/XXX/yyy.py", line 48, in BBB
soup = BeautifulSoup(browserObj.page_source, 'lxml')
File "/home/ps/AAA/projenv/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 670, in page_source
return self.execute(Command.GET_PAGE_SOURCE)['value']
File "/home/ps/AAA/projenv/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 312, in execute
self.error_handler.check_response(response)
File "/home/ps/AAA/projenv/local/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", …Run Code Online (Sandbox Code Playgroud) 我确信之前已经研究过这个主题,我不确定它叫什么或者我还应该研究什么技术,因此我为什么在这里。我主要在 Python 和 Pandas 中运行它,但它不仅限于这些语言/技术。
举个例子,让我们假设我有这个数据集:
| PID | A | B | C |
| --- | ---- | ---- | ---- |
| 508 | 0.85 | 0.51 | 0.05 |
| 400 | 0.97 | 0.61 | 0.30 |
| 251 | 0.01 | 0.97 | 0.29 |
| 414 | 0.25 | 0.04 | 0.83 |
| 706 | 0.37 | 0.32 | 0.33 |
| 65 | 0.78 | 0.62 | 0.25 |
| 533 …Run Code Online (Sandbox Code Playgroud) 我知道如何在服务器端语言中执行此操作,但我想知道是否有一种简单的方法(如没有活动X).谷歌搜索只为我提供了javascript从用户计算机列出文件的方法.
如何使用javascript列出服务器上的所有文件.也就是说,如果我有一个文件夹/ gallary,那里可以有很多子导演,/ gallary/sports,/ gallary/california,/ gallary/christmas.每个子目录包含n个图像.
如何让javascript列出所有子目录以及所有图像.
我是Python Web框架的新手并且正在尝试学习Flask.我经历了教程,一切都很好.我现在正在尝试创建自己的小应用程序来学习框架.我在我的main flask.py文件中有以下代码
@app.route('/')
def index():
return render_template('main.html')
Run Code Online (Sandbox Code Playgroud)
在main.html我有这个HTML
{% extends "layout.html" %}
{% block content %}
<div> Foo bar test</div>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
然后在layout.html中我有一个基本的Web布局,看起来像这样
<!DOCTYPE html>
<title>Flaskpad</title>
<link href="/static/css/bootstrap.css" rel="stylesheet">
<link href="/static/css/flaskpad.css" rel="stylesheet">
<style type="text/css">
.socials {
padding: 10px;
}
</style>
</head>
<body>
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<ul class="nav">
<li class="active">
<a class="brand" href="#">Flaskpad/a>
</li>
<li><a href="#">Login</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
</div>
</div>
</div>
<div class="container">
<div class="row fcontent">
<div class="span3">
Empty Space
</div>
<div …Run Code Online (Sandbox Code Playgroud) 这个问题不是寻找特定问题的解决方案,而是试图理解为什么Safari在这种情况下效率低下.当我谈论速度极慢时,代码在Firefox和Chrome中以不到1秒的速度运行,而Safari则在30-90秒的范围内运行.它可能已经是一个记录在案的问题,但我不知道为什么.
情况是我有一个相当大的HTML表.它是1,000-1,500行,40列宽.结构看起来像:
<table id="myTablePlayers" class="tablesorter table table-striped table-bordered table-hover" style="overflow: visible">
<thead>
<tr>
<th>...</th>
<th>...</th>
<th>...</th>
<th>...</th>
...
<th>...</th>
</tr>
</thead>
<tbody>
<tr class="playerData">
<td>...</td>
<td>...</td>
<td>...</td>
<td>...</td>
...
<td>...</td>
</tr>
...
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
许多表单域允许用户选择和输入有助于过滤掉行的信息.jQuery看起来像:
function autoRank() {
// auto number
rank = 0;
$("#myTablePlayers .playerData").each(function() {
if ($(this).css("display") != "none") {
rank++;
$(this).find('td').eq(colRank).text(rank);
}
});
}
function filterTable() {
// Need some error checking on input not number
minGP = $("#mingp").val()
teams = $("#teamFilter").val()
position = $("#position").val()
age = …Run Code Online (Sandbox Code Playgroud) 我已经用PHP和MySQL制作网站近十年了,但我从未使用过框架.这意味着我手动编码了所有内容,我知道代码是如何工作的并与自身交互.
想要扩展我的视野,我已经选择了Ruby on Rails来学习另一种Web语言,框架,数据库等.我一直在关注Ruby on Rails教程,到目前为止它很顺利,但是有什么问题让我觉得黑盒子有多大呢感觉.有太多的魔法,而且事情的发生只是因为它确实发生了.这个"魔术"的例子包括,如果我添加到路径文件"resources:users",我突然有近无限可能的链接,比如/ new/user/1/user/1/edit等.或者如果我想要在我的db表中添加一个列我必须在控制台"rails integrate _to_table value:type"中执行类似的操作,然后我必须"耙"db.
我已经能够按照教程制作内容,但我不明白我在做什么.我知道它的一部分将来自经验,但我想知道Rails如何以及为什么要做它做的事情.
什么是一些好的资源,在线和书籍,我可以在哪里学习RoR的工作原理?
晚上好,
我正在进行有监督的分类任务.我有一个大的arff文件,其格式为"text",类.只有两个班,E和I.
我可以将这些数据加载到Weka Explorer中,在其上应用带有TF-IDF的StringToWordVector,然后使用LibSVM对其进行分类并获得结果.但我需要使用5x2交叉验证并获得ROC曲线下的区域.因此,我保存已处理的数据,打开Weka Experimenter,加载它,将其设置为2倍,5次迭代,然后将算法设置为libSVM.
当我进入RUN选项卡并按开始时,我收到以下错误:
18:31:18:开始
18:31:18:Class属性不是名义上的!
18:31:18:中断
18:31:18:有1个错误
我不知道为什么会这样,错误到底是什么,或者如何修复它.我谷歌这个错误,并没有引导我任何解决方案.我不知道我应该从哪里开始解决这个问题.
我可以回到资源管理器,重新加载该处理过的文件,并对其进行分类,没有任何问题,但我需要在Experimenter中进行.
python ×4
javascript ×2
jquery ×2
pandas ×2
weka ×2
firefox ×1
flask ×1
geckodriver ×1
nlp ×1
ruby ×1
selenium ×1
statistics ×1
web-scraping ×1