我正在加载一个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)
这是我的设置 -
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或我的项目的其余部分中我需要什么才能工作?
我正在尝试计算字符串中特定字符的出现次数,但输出错误.
这是我的代码:
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) 我对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) 我有一个要求,我想在几个虚拟机上配置Java应用程序所需的机器特定SSL证书(使用机器的IP /主机名生成).
我可以提前创建这些证书,如QA-Machine01,Prod-Machine01等名称,并可以将它们保存在某个文件夹中.
如何让Vagrant动态选择这些证书,获取它的名称(QA-Machine01,Prod-Machine01)并使用证书名称为机器名配置VM?
我正在使用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
关于这个问题的任何想法吗?
在阻止方式中,我可以这样做:
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
在使用Git和Git-flow时,人们如何设置构建配置?我有几个要完成的任务:
有了master,开发,发布功能分支,我很好奇人们如何将它们映射到构建过程中.
我想知道如何验证从sr1()
Scapy中的函数收到的数据包是否包含TCP层,以便对TCP标记进行一些处理.
如果你错过了它 - 在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的选项,例如可用的密码套件.
python ×3
scapy ×3
git ×2
python-2.7 ×2
aggregation ×1
apache ×1
chef-infra ×1
git-flow ×1
nginx ×1
openssl ×1
pandas ×1
puppet ×1
sniffing ×1
teamcity ×1
unit-testing ×1
vagrant ×1