小编unu*_*tbu的帖子

python/numpy中的线性组合

问候,

我不确定这是不是一个愚蠢的问题.

假设我有3个numpy数组,A1,A2,A3和3个浮点数,c1,c2,c3

我想评估B = A1*c1 + A2*c2 + A3*c3

numpy计算这个例如,

 E1 = A1*c1
 E2 = A2*c2
 E3 = A3*c3
 D1 = E1+E2
 B = D1+E3
Run Code Online (Sandbox Code Playgroud)

还是比这更聪明?在c ++中,我有一种巧妙的方法来抽象这种操作.

我定义了一系列通用'LC'模板函数,LC用于线性组合,如:

template<class T,class D>
void LC( T & R,
    T & L0,D C0,
    T & L1,D C1,
    T & L2,D C2)
{
    R = L0*C0
        +L1*C1
        +L2*C2;        
}
Run Code Online (Sandbox Code Playgroud)

然后将其专门用于各种类型,

例如,对于数组代码看起来像

for (int i=0; i<L0.length; i++)
    R.array[i] =
    L0.array[i]*C0 +
    L1.array[i]*C1 +
    L2.array[i]*C2;
Run Code Online (Sandbox Code Playgroud)

从而避免必须创建新的中间阵列.

这可能看起来很乱,但效果确实很好.

我可以在python中做类似的事情,但我不确定它是否是必需的.

提前感谢您的任何见解.-缺口

python arrays numpy linear-algebra

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

Python urllib帖子的内容类型不同于urlencoded

据我所知,我需要使用url编码的内容与urllib一起发布.使用urllib发布时是否可以使用application/json内容类型?

python curl urllib2

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

如何在java中将XML转换为JSON?

如何在java servlet中将XML转换为JSON.

    <?xml><SOAP-ENV:Envelope xmlns:xsd= "http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:HNS="http://tempuri.org/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header><HNS:ROClientID SOAP-ENV:mustUnderstand="0">{6C9A8E69-2018-4090-8FA7-DEB98300E102}</HNS:ROClientID></SOAP-ENV:Header><SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ro="http://tempuri.org/"><NS1:GetStationListResponse xmlns:NS1="urn:WOOSServices-WOrbitService"><Stations xsi:type="xsd:string"></Stations><Result xsi:type="xsd:string">{
    "MOColmns": [
        {
            "MOTitle": "Description"
        },
        {
            "MOTitle": "station_name"
        },
        {
            "MOTitle": "StationID"
        },
        {
            "MOTitle": "StationINT"
        }
    ]
}</Result></NS1:GetStationListResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>";
            String xml = "<xx yy='nn'><mm>zzz</mm></xx>";

            JSONArray json = (JSONArray) XMLSerializer.read(xml);  
            System.out.println( json ); 
Run Code Online (Sandbox Code Playgroud)

请帮我.

java xml json

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

从字符串中提取特定字符

i= "March 31st 2013 ntp[22123] Time server offset -.00354 sec"

i= "March 1st 2013 ntp[22485] Time server offset -.0070 sec"
Run Code Online (Sandbox Code Playgroud)

字符串看起来相同,但有时字符数会有所不同。如果我尝试仅提取字符串的最后一部分,它将无法工作"-.0070 sec" with i=i [-11:]

我想知道我是否可以搜索单词"offset",找到它在字符串中的位置,然后用它来消除字符串的其余部分以保留"-.00354 sec" or "-.0070 sec".

例如,有 46 个字符,"March 31st 2013 Time server offset -.00354 sec"并且offset是字符串的第 28 位的开始。从字符串开头算起的总共 34 个字符将被删除。

python string

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

python时间字符串与格式不匹配

def deadlines(t):
    '''shows pretty time to deadlines'''
    fmt = '%a %d %m %Y %I:%M %p %Z' 

    dt = datetime.strptime( t , fmt )

    print 'dt ', repr(dt)


first = 'Sun 11 May 2014 05:00 PM PDT'
deadlines(first)
Run Code Online (Sandbox Code Playgroud)

ValueError:时间数据'Sun 11 May 2014 02:00 PM PDT'与格式'%a%d%m%Y%I:%M%p%Z'不匹配

这有什么不对吗?

python string datetime date-parsing

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

numpy中的三张量产品

我正在将一些代码从C转换为numpy,这个特定的代码段显示出一些显着的减速.似乎只是用numpy数组中的和来替换内部循环是不够的.有没有人建议恢复一些原始性能?

我宁愿避免使用scipy.weave.我想知道我是否能以某种方式使用卷积函数,但文档有点薄,并且似乎有几个选项(scipy.signal,ndimage,numpy.convolve等).是否可以使用爱因斯坦求和函数(einsum)或tensordot?对于tensordot我认为我需要分别做X,Y,Z?

我已经将这些值设置为随机,因此可以剪切和粘贴,但我应该注意MX,MY和MZ的某些结构M(i,j)|i-j|M(i,j)=M(j,i)

一般来说,回应一些建议的编辑 n[0] != n[1] != n[2]

n = np.array((50,50,50))
np.random.seed(1)
A = np.random.random(n)
C = np.zeros_like(A)
MX = np.random.random((n[0],n[0]))
MY = np.random.random((n[1],n[1]))
MZ = np.random.random((n[2],n[2]))

for i in xrange(n[0]):
    for j in xrange(n[1]):
        for k in xrange(n[2]):
            C[i,j,k]=(MX[i,:]*A[:,j,k]).sum() + (MY[j,:]*A[i,:,k]).sum() +(MZ[k,:]*A[i,j,:]).sum()
Run Code Online (Sandbox Code Playgroud)

python arrays hpc numpy

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

通过networkx和使用python在图中添加节点和边

我需要创建一个 IP 地址图并标记它们之间的边,我为此编写了下面的代码。列表,即 parseOutput() 的内容,看起来像这样:

('172.16.254.128', '216.58.208.206')
('216.58.208.206', '172.16.254.128')
('172.16.254.128', '216.58.208.226')
('216.58.208.226', '172.16.254.128')
('172.16.254.128', '8.8.8.8')
('8.8.8.8', '172.16.254.128')
('172.16.254.128', '216.58.208.227')
('172.16.254.128', '216.58.208.227')
('216.58.208.227', '172.16.254.128')
('172.16.254.128', '216.58.208.227')
('172.16.254.128', '216.58.208.227')
...
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,出现以下错误:

Traceback (most recent call last):
  File "test.py", line 40, in <module>
    g.add_nodes_from(nodeList)
  File "/usr/local/lib/python2.7/dist-packages/networkx/classes/graph.py", line 429, in add_nodes_from
    nn,ndict = n
ValueError: need more than 0 values to unpack
Run Code Online (Sandbox Code Playgroud)
import logging, sys, struct, binascii, socket
from scapy.all import *
import networkx as nx
import matplotlib.pyplot as plt

pkts=rdpcap("pcapFile.pcap",20)

def parsePcap():
        IPList …
Run Code Online (Sandbox Code Playgroud)

python graph scapy networkx

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

根据Python Pandas中的条件减去两行

我正在使用一个数据集,我有时间和几种不同种类的微生物的浓度重复,所以它只是一个时间列和一堆数字为了这个问题.我每两个小时进行一次测量,有时我会连续进行两次测量,这些测量的时间戳会非常相似.对于那些类似的时间戳,我想取所有列的两行的平均值,并将这些平均值返回到之前放置两个值的新数据帧.

这是数据框的样子.时间戳已转换为数值,因为相对时间/日期无关紧要.你可以看到我正在谈论的一个例子,在第9和第10个索引有两个非常相似的时间

      Time        A1       A2       A3
 0    0.000069    118.0    108.0    70.0
 1    0.087049    189.0    54.0     89.0
 2    0.156551    154.0    122.0    107.0
 3    0.721516    129.0    148.0    148.0
 4    0.789329    143.0    162.0    212.0
 5    0.882743    227.0    229.0    149.0
 6    0.964907    208.0    255.0    241.0
 7    1.041424    200.0    241.0    222.0
 8    1.731806    733.0    838.0    825.0
 9    1.794340    804.0    996.0    954.0
10    1.794769    861.0    987.0    1138.0
Run Code Online (Sandbox Code Playgroud)

将时间列中的数字四舍五入到一个合理的值似乎是显而易见的,我可以使用一个groupby()函数(如果我实际上需要对它们进行分组)然后平均"重复"值,但我走了一条新的哲学道路我想使用pandas iterrows()函数逐行遍历行,并比较每两个连续的行并对它们应用一个条件来实现相同的结果.我已经到达了这样的东西,它没有错误代码,但似乎没有做任何事情.

for i, row in df.iterrows():
    row2 = row + 1 #I feel like this …
Run Code Online (Sandbox Code Playgroud)

python numpy pandas

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

将数据帧与不可用的列合并

我想合并两个Pandas DataFrames.如果item代码(例如A,B,C,d)是相同的,它们的属性a,b必须是相同的,但b是一个numpy的阵列或即unhashable列表.

富:

item   a     b              
A      1     [2,0] 
B      1     [3,0]         
C      0     [4,0]         
Run Code Online (Sandbox Code Playgroud)

酒吧:

item   a     b
A      1     [2,0]
D      0     [6,1]
Run Code Online (Sandbox Code Playgroud)

这就是我要的

code   a     b        Foo   Bar
A      1     [2,0]    1     1
B      1     [3,0]    1     0
C      0     [4,0]    1     0
D      0     [6,1]    0     1
Run Code Online (Sandbox Code Playgroud)

python merge dataframe pandas

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

Python DataFrame:将一列转置为多列

我有一个如下所示的数据框:

df = pd.DataFrame({'month':['2017-09-27','2017-09-27','2017-09-28','2017-09-29'],'Cost':[100,500,200,300]})
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到这样的 df :

2017-09-27   2017-09-28    2017-09-29
  100            200          300
  500            NULL         NULL  
Run Code Online (Sandbox Code Playgroud)

提前致谢!

reshape dataframe python-3.x pandas

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