小编RyP*_*eck的帖子

Pandas - 可以使用两个不同的聚合聚合两列?

我正在加载一个csv文件,其中包含以下列:date,textA,textB,numberA,numberB

我想按列分组:date,textA和textB - 但是想要将"sum"应用于numberA,而将"min"应用于numberB.

data = pd.read_table("file.csv", sep=",", thousands=',')
grouped = data.groupby(["date", "textA", "textB"], as_index=False)
Run Code Online (Sandbox Code Playgroud)

...但我看不出如何将两个不同的聚合函数应用于两个不同的列?即sum(numberA), min(numberB)

aggregation pandas

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

通过命令行选项从Python程序运行unittest

这是我的设置 -

project/
    __init__.py
    prog.py
    test/
        __init__.py
        test_prog.py
Run Code Online (Sandbox Code Playgroud)

我希望能够通过在prog.py中调用命令行选项来运行我的单元测试,这样当我部署项目时,我可以随时部署运行单元测试的能力.

python prog.py --unittest
Run Code Online (Sandbox Code Playgroud)

在prog.py或我的项目的其余部分中我需要什么才能工作?

python unit-testing software-packaging python-2.7

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

在String Python中计算元音

我正在尝试计算字符串中特定字符的出现次数,但输出错误.

这是我的代码:

inputString = str(input("Please type a sentence: "))
a = "a"
A = "A"
e = "e"
E = "E"
i = "i"
I = "I"
o = "o"
O = "O"
u = "u"
U = "U"
acount = 0
ecount = 0
icount = 0
ocount = 0
ucount = 0

if A or a in stri :
     acount = acount + 1

if E or e in stri :
     ecount = ecount + 1

if I …
Run Code Online (Sandbox Code Playgroud)

python

13
推荐指数
8
解决办法
11万
查看次数

Git跟踪整个主目录.获取错误 - 致命:错误的默认修订版"HEAD"

我对git完全不熟悉.我在Mac终端工作.

每当我git status在我的主目录中执行a 时,都会显示所有未跟踪的文件,stage目录中的文件以及整个主目录中的已提交文件.当我git log在我的主目录中执行a 时,出现以下错误:

致命:错误的默认修订'HEAD'

我该如何纠正这个错误?如何让git停止跟踪整个主目录的内容而不影响其当前状态?

在此先感谢,我为我的无知道歉.我只是不想做任何可能对我的主目录造成潜在破坏的事情.

当我进入git status主目录时,我得到以下内容:

~ (master) > Kojo$ git status
 On branch master

Initial commit

 Changes to be committed:
   (use "git rm --cached <file>..." to unstage)

    new file:   Desktop/Classes/Person.cpp
    new file:   Desktop/Classes/Person.h
    new file:   Desktop/Classes/Tweeter.cpp
    new file:   Desktop/Classes/Tweeter.h
    new file:   Documents/AoGPMidterm/xcode/TriMesh.h
    new file:   Projects/Testing/Testing/ConditionalClass.cs
    new file:   Projects/Testing/Testing/Lucky_Num.cs
    new file:   Projects/Testing/Testing/NewEnum.cs

 Changes not staged for commit:
   (use "git add/rm <file>..." to update what will be committed)
   (use "git …
Run Code Online (Sandbox Code Playgroud)

git

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

如何使用Vagrant,Chef和/或Puppet使用机器特定的SSL证书来配置VM?

我有一个要求,我想在几个虚拟机上配置Java应用程序所需的机器特定SSL证书(使用机器的IP /主机名生成).

我可以提前创建这些证书,如QA-Machine01,Prod-Machine01等名称,并可以将它们保存在某个文件夹中.

如何让Vagrant动态选择这些证书,获取它的名称(QA-Machine01,Prod-Machine01)并使用证书名称为机器名配置VM?

puppet ssl-certificate chef-infra vagrant

10
推荐指数
1
解决办法
326
查看次数

Scapy BPF过滤器无法正常工作

我正在使用Scapy,并希望根据目标mac地址进行过滤.

但是,我收到的数据包显示目标MAC地址不是过滤器中指定的地址.

这是一个代码snippit:

from scapy.all import *

sniff(iface="eth1", filter="ether dst host 91:e0:f0:01:00:00", 
      count=3, prn=lambda x: x.show())
Run Code Online (Sandbox Code Playgroud)

我正在运行Scapy 2.2.0

关于这个问题的任何想法吗?

python scapy

9
推荐指数
1
解决办法
2807
查看次数

Scapy以无阻塞的方式嗅闻

在阻止方式中,我可以这样做:

from scapy.all import *

sniff(filter"tcp and port 80", count=10, prn = labmda x:x.summary())
# Below code will be executed only after 10 packets have been received
do_stuff()
do_stuff2()
do_stuff3()
Run Code Online (Sandbox Code Playgroud)

我希望能够以非阻塞的方式用scapy嗅探数据包,如下所示:

def packet_recevied_event(p):
   print "Packet received event!"
   print p.summary()

# The "event_handler" parameter is my wishful thinking
sniff(filter"tcp and port 80", count=10, prn=labmda x:x.summary(), 
                                  event_handler=packet_received_event)

#I want this to be executed immediately
do_stuff()
do_stuff2()
do_stuff3()
Run Code Online (Sandbox Code Playgroud)

总结一下:我的问题非常清楚,我希望能够继续执行代码而不用阻止它的嗅探功能.一种选择是为此打开一个单独的线程,但我想避免它并尽可能使用scapy本机工具.

环境细节:

python:2.7

scapy:2.1.0

os:ubuntu 12.04 64bit

sniffing scapy python-2.7

8
推荐指数
1
解决办法
3484
查看次数

为Git Flow构建配置

在使用Git和Git-flow时,人们如何设置构建配置?我有几个要完成的任务:

  • 提交 - 编译,运行静态代码分析,单元测试,包
  • 集成测试 - 运行集成测试
  • 部署到测试 - 将应用程序部署到测试环境
  • 功能测试 - 运行端到端功能测试
  • 部署到QA - 手动拉入运行冒烟测试的QA环境

有了master,开发,发布功能分支,我很好奇人们如何将它们映射到构建过程中.

git build-automation teamcity git-flow

7
推荐指数
1
解决办法
1932
查看次数

如何验证Scapy中的数据包是否具有TCP层

我想知道如何验证从sr1()Scapy中的函数收到的数据包是否包含TCP层,以便对TCP标记进行一些处理.

scapy

7
推荐指数
1
解决办法
6066
查看次数

编译标志与配置选项 - TLS心跳

如果你错过了它 - 在TLS心跳扩展的实现中的OpenSSL漏洞已经进行了轮次.有关更多信息,请参阅http://heartbleed.com/.

其中一个可能的缓解步骤是重新编译OpenSSL,并-DOPENSSL_NO_HEARTBEATS选择禁用易受攻击的扩展.

为什么系统管理员必须重新编译库以禁用扩展?为什么没有配置选项?本来可以更容易地进行短期补救.

我最好的猜测,这是一个高性能的,作为一个库本质上没有像服务那样​​的配置文件.通过Apache mod_ssl和Nginx HttpSslModule文档搜索,我没有看到任何允许我通过配置禁用Heartbeat功能的内容.这不应该是一个选择吗?

-编辑-

为了澄清,受影响的每个人都需要撤销和替换受影响的SSL证书.这里的主要问题是该漏洞允许任何人从易受攻击的服务器中提取64 KB的应用程序内存.这可以通过配置选项轻松解决.必须撤销和替换SSL证书是此漏洞的第二个后果,其中包括可能从应用程序内存泄漏的数据类型(用户名,密码,会话信息...)等问题.

-EDIT2-

澄清 - 通过配置我并不是指编译OpenSSL时的配置.我的意思是在Web服务器中进行配置.例如,使用apache mod_ssl,我可以配置一系列影响SSL的选项,例如可用密码套件.

apache configuration openssl nginx

7
推荐指数
1
解决办法
5640
查看次数