标签: pipeline

如何在管道内使用"if"语句

我正试图if在管道内使用.

我知道有where(别名?)过滤器,但是如果我想只在满足某个条件时才激活过滤器怎么办?

我的意思是,例如:

get-something | ? {$_.someone -eq 'somespecific'} | format-table

如何if在管道内使用来打开/关闭过滤器?可能吗?是否有意义?

谢谢

编辑澄清

没有管道,它看起来像这样:

if($filter) {
 get-something | ? {$_.someone -eq 'somespecific'}
}
else {
 get-something
}

在ANSWER的riknik之后编辑

愚蠢的例子显示了我在寻找什么.您有一个存储在变量上的非规范化数据表,$data并且您希望执行一种"向下钻取"数据过滤:

function datafilter {
param([switch]$ancestor,
    [switch]$parent,
    [switch]$child,
    [string]$myancestor,
    [string]$myparent,
    [string]$mychild,
    [array]$data=[])

$data |
? { (!$ancestor) -or ($_.ancestor -match $myancestor) } |
? { (!$parent) -or ($_.parent -match $myparent) } |
? { (!$child) -or ($_.child -match $mychild) } |

} …

powershell pipeline statements conditional-statements

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

我应该创建管道来使用scrapy保存文件吗?

我需要保存一个文件(.pdf),但我不确定该怎么做.我需要保存.pdfs并以这样的方式存储它们,使它们组织在一个目录中,就像它们存储在我正在抓取它们的网站上一样.

从我可以收集到的东西,我需要建立一个管道,但从我理解的管道保存"项目"和"项目"只是基本数据,如字符串/数字.保存文件是否正确使用管道,或者我应该将文件保存在蜘蛛中?

python pipeline web-crawler scrapy

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

如何在管道中使用GNU Time

我想在postgresql中测量一些SQL查询的运行时间.使用BASH内置时间,我可以执行以下操作:

$ time (echo "SELECT * FROM sometable" | psql)
Run Code Online (Sandbox Code Playgroud)

我喜欢GNU时间,它提供更多格式.但是我不知道怎么用管道做.为简单起见,我ls | wc在以下示例中使用:

$ /usr/bin/time -f "%es" (ls | wc)                                                      
-bash: syntax error near unexpected token `('

$ /usr/bin/time -f "%es" "ls | wc"                                                  
/usr/bin/time: cannot run ls | wc: No such file or directory
Run Code Online (Sandbox Code Playgroud)

如果我不以任何方式对管道进行分组,它不会抱怨:

$ /usr/bin/time -f "%es" ls | wc       
0.00s
Run Code Online (Sandbox Code Playgroud)

但显然,这仅测量管道的第一部分,如下一个示例所示

$ /usr/bin/time -f "%es" ls | sleep 20                                                  
0.00s 
Run Code Online (Sandbox Code Playgroud)

那么问题是GNU Time与管道的正确语法是什么?

bash time pipeline gnu

15
推荐指数
1
解决办法
5208
查看次数

R流水线功能

有没有办法在R中编写流水线函数,其中一个函数的结果立即传递到下一个函数?我来自F#并且非常欣赏这种能力,但还没有找到如何在R中做到这一点.它应该很简单,但我找不到如何.在F#中它看起来像这样:

let complexFunction x =
     x |> square 
     |> add 5 
     |> toString
Run Code Online (Sandbox Code Playgroud)

在这种情况下,输入将被平方,然后添加5,然后转换为字符串.我希望能够在R中做类似的事情,但不知道如何做.我已经搜索了如何做这样的事情,但没有遇到任何问题.我想要导入数据,因为我通常必须导入它然后过滤.现在我在多个步骤中执行此操作,并且非常希望能够以F#管道方式执行某些操作.

pipeline r

15
推荐指数
3
解决办法
1357
查看次数

如何在搜索模式中使用带有sed的xargs

我需要在sed中使用命令的输出作为搜索模式.我将使用echo做一个例子,但假设这可能是一个更复杂的命令:

echo "some pattern" | xargs sed -i 's/{}/replacement/g' file.txt
Run Code Online (Sandbox Code Playgroud)

该命令不起作用,因为"某些模式"有一个空格,但我认为这清楚地说明了我的问题.

如何使该命令有效?

提前致谢,

bash replace pipeline sed

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

Scrapy管道以正确的格式导出csv文件

我根据下面的alexce的建议做了改进.我需要的是如下图所示.但是,每行/每行应该是一个评论:日期,评级,评论文本和链接.

我需要让物品处理器处理每个页面的每个评论.
目前,TakeFirst()仅对页面进行第一次审核.所以10页,我只有10行/行,如下图所示.

在此输入图像描述

蜘蛛代码如下:

import scrapy
from amazon.items import AmazonItem

class AmazonSpider(scrapy.Spider):
   name = "amazon"
   allowed_domains = ['amazon.co.uk']
   start_urls = [
    'http://www.amazon.co.uk/product-reviews/B0042EU3A2/'.format(page) for      page in xrange(1,114)

]

def parse(self, response):
    for sel in response.xpath('//*[@id="productReviews"]//tr/td[1]'):
        item = AmazonItem()
        item['rating'] = sel.xpath('div/div[2]/span[1]/span/@title').extract()
        item['date'] = sel.xpath('div/div[2]/span[2]/nobr/text()').extract()
        item['review'] = sel.xpath('div/div[6]/text()').extract()
        item['link'] = sel.xpath('div/div[7]/div[2]/div/div[1]/span[3]/a/@href').extract()

        yield item
Run Code Online (Sandbox Code Playgroud)

python csv pipeline scrapy

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

从sklearn中的Pipeline对象返回系数

我适合一个Pipeline物体RandomizedSearchCV

pipe_sgd = Pipeline([('scl', StandardScaler()),
                    ('clf', SGDClassifier(n_jobs=-1))])

param_dist_sgd = {'clf__loss': ['log'],
                 'clf__penalty': [None, 'l1', 'l2', 'elasticnet'],
                 'clf__alpha': np.linspace(0.15, 0.35),
                 'clf__n_iter': [3, 5, 7]}

sgd_randomized_pipe = RandomizedSearchCV(estimator = pipe_sgd, 
                                         param_distributions=param_dist_sgd, 
                                         cv=3, n_iter=30, n_jobs=-1)

sgd_randomized_pipe.fit(X_train, y_train)
Run Code Online (Sandbox Code Playgroud)

我想访问该coef_属性,best_estimator_但我无法做到这一点.我尝试使用coef_下面的代码访问.

sgd_randomized_pipe.best_estimator_.coef_

但是我得到以下AttributeError ...

AttributeError:'Pipeline'对象没有属性'coef_'

scikit-learn文档说这coef_是属性SGDClassifier,属于我的类base_estimator_.

我究竟做错了什么?

python pipeline scikit-learn cross-validation

15
推荐指数
2
解决办法
8421
查看次数

为什么2>&1需要在|之前 (管道)但是在"> myfile"之后(重定向到文件)?

将stderr与stdout结合使用时,为什么2>&1需要在|(管道)之前但在> myfile(重定向到文件)之后呢?

要将stderr重定向到stdout以获取文件输出:

  echo > myfile 2>&1
Run Code Online (Sandbox Code Playgroud)

要将stderr重定向到管道的stdout:

  echo 2>&1 | less
Run Code Online (Sandbox Code Playgroud)



我的假设是我可以这样做:

  echo | less 2>&1 
Run Code Online (Sandbox Code Playgroud)

它会起作用,但事实并非如此.为什么不?

bash shell pipeline stdout pipe

14
推荐指数
2
解决办法
3598
查看次数

服务面料可靠服务管道设计

如果Service Fabric的可靠服务我需要实现管道,并且从可靠性简单和简单的良好设计的角度来看,我需要一些关于这些方法更适合的指导:

在此输入图像描述

c# pipeline azure microservices azure-service-fabric

14
推荐指数
1
解决办法
2695
查看次数

sklearn管道 - 如何在不同的列上应用不同的转换

我对sklearn中的管道很新,我遇到了这个问题:我有一个混合了文本和数字的数据集,即某些列只有文本而rest有整数(或浮点数).

我想知道是否有可能构建一个管道,我可以调用LabelEncoder()文本功能和MinMaxScaler()数字列.我在网上看到的例子主要指向使用LabelEncoder()整个数据集而不是选择列.这可能吗?如果是这样,任何指针都将非常感激.

python pipeline scikit-learn

14
推荐指数
3
解决办法
5630
查看次数