小编Zac*_*ain的帖子

python numpy roll with padding

我想在python中滚动一个2D numpy,除了我想用零填充末尾而不是滚动数据就好像它是周期性的.

具体来说,以下代码

import numpy as np

x = np.array([[1, 2, 3], [4, 5, 6]])

np.roll(x, 1, axis=1)
Run Code Online (Sandbox Code Playgroud)

回报

array([[3, 1, 2],[6, 4, 5]])
Run Code Online (Sandbox Code Playgroud)

但我更喜欢的是

array([[0, 1, 2], [0, 4, 5]])
Run Code Online (Sandbox Code Playgroud)

我可以用一些笨拙的修饰做到这一点,但我希望有一种方法可以使用快速内置命令.

谢谢

python arrays numpy

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

计算python中非常大的稀疏矩阵的特征值

我有一个非常大的稀疏矩阵,表示马尔可夫链中的过渡马赛克,即矩阵的每一行的总和等于1,我有兴趣找到第一个特征值及其相应的小于1的向量.我知道特征值在[-1,1]部分中有界,它们都是实数(非复数).
我试图使用python scipy.sparse.eigs函数计算值,但是,函数的一个参数是要估计的特征值/向量的数量,每次我增加要估计的参数数量时,特征值的数量就是精确的一个人也成长了.
不用说,我正在使用which带有值的参数'LR'为了得到k个最大的特征值,k是要估计的值的数量.
有没有人知道如何解决这个问题(找到小于1的第一个特征值及其相应的向量)?

python scipy eigenvalue sparse-matrix eigenvector

20
推荐指数
1
解决办法
1001
查看次数

如何将库添加到Eclipse项目中

我正在尝试向Eclipse Galileo添加一个库,但它无法解决.

库:gdi32.lib - >在MinGW中:libgdi32.a

无论我尝试什么,它都行不通.任何人都可以告诉我什么进入哪里,完成这个?

细节:

我有函数调用:

wndclassex.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
Run Code Online (Sandbox Code Playgroud)

......导致错误:

WinMain.o: In function `WinMain':
Z:/mtsts_workspace/MTSTS/Debug/../WinMain.c:29: 
  undefined reference to `GetStockObject@4'
Run Code Online (Sandbox Code Playgroud)

我有函数调用:

TextOut(hdc, 0, 0, TEXT("Hello World!"), 12);
Run Code Online (Sandbox Code Playgroud)

......导致错误:

WinMain.o: In function `WndProc':
Z:/mtsts_workspace/MTSTS/Debug/../WinMain.c:88: 
  undefined reference to `TextOutA@20'
Run Code Online (Sandbox Code Playgroud)

eclipse eclipse-cdt

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

马尔可夫链固定分布与scipy.sparse?

我有一个Markov链给出一个大的稀疏scipy矩阵A.(我已经以scipy.sparse.dok_matrix格式构建了矩阵,但转换为其他矩阵或构造它csc_matrix很好.)

我想知道p这个矩阵的任何平稳分布,它是特征值的特征向量1.此特征向量中的所有条目都应为正数,并且加起来为1,以表示概率分布.

这意味着我想要系统的任何解决方案 (A-I) p = 0,p.sum()=1(在哪里I=scipy.sparse.eye(*A.shape)是idententy矩阵),但(A-I)不是完全排名,甚至整个系统可能都是不确定的.另外,可以生成具有否定条目的特征向量,其不能被归一化为有效概率分布.防止负面输入p会很好.

  • 使用scipy.sparse.linalg.eigen.eigs不是解决方案:它不允许指定附加约束.(如果特征向量包含负数条目,则归一化没有帮助.)此外,它与真实结果有很大差异,有时会出现收敛问题,表现比较差scipy.linalg.eig.(另外,我使用了shift-invert模式,它改进了我想要的特征值的类型,但不是它们的质量.如果我不使用它,它甚至更具有杀伤力,因为我只对一个特定的特征值感兴趣,1.)

  • 转换为密集矩阵并使用scipy.linalg.eig不是解决方案:除负输入问题外,矩阵太大.

  • 使用scipy.sparse.spsolve不是一个明显的解决方案:矩阵要么不是正方形(当组合加性约束和特征向量条件时),要么不是满秩(当试图以某种方式单独指定它们时),有时也不是.

有没有一种很好的方法可以使用python以数字形式获得马尔可夫链的静态状态作为稀疏矩阵?如果有办法获得详尽的清单(也可能是几乎静止的状态),那是值得赞赏的,但并非必要.

python markov-chains scipy sparse-matrix

4
推荐指数
1
解决办法
2592
查看次数

JAVA - 使用 FasterXml.Jackson 将 XML 文件解析为 Map

我有以下 XML 文件:

<?xml version="1.0" encoding="UTF-8"?>
<Site xmlns="bla" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  id="0" affiliations="foo" status="OPERATIONAL" color="#DB2253" updateTime="2002-12-17T09:30:47.0Z" name="GFB_0035" subject="GF">
    <location>
        <vertices Lat="41.905889" Lon="12.452019"/>
        <vertices Lat="41.905973" Lon="12.453596"/>
        <vertices Lat="41.905206" Lon="12.453707"/>
        <vertices Lat="41.905058" Lon="12.452109"/>
    </location>
</Site>
Run Code Online (Sandbox Code Playgroud)

我使用 以下代码FasterXml.Jackson将数据解析为Map<String, Object>对象:

XmlMapper xmlMapper = new XmlMapper();
Map<String, Object> data = xmlMapper.readValue(new File(xmlFile), Map.class);
Run Code Online (Sandbox Code Playgroud)

然而,当我查看"location"字段的内容时,我只有一个顶点而不是四个(最后一个)。

更新: 我得到的地图对象如下所示:

{id=0, affiliations=foo, status=OPERATIONAL, color=#DB2253, updateTime=2002-12-17T09:30:47.0Z, name=GFB_0035, subject=GF, location={vertices={Lat=41.905058, Lon=12.452109}}}
Run Code Online (Sandbox Code Playgroud)

有没有办法使用 获得所有四个条目FasterXml.Jackson

java xml jackson fasterxml

4
推荐指数
1
解决办法
8891
查看次数

c#?:带参数的运算符

我有以下课程:

public class SubStredisko
{
    public string Name { get; set; }
    public string Code { get; set; }

    public VyplatnePasky VyplatnaPaska { get; set; }
    public MzdoveNaklady MzdoveNaklady { get; set; }
    public Poistne Poistne { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后我有两个SubStredisko项目,其中一个肯定是null.我想要做的是,我有一个单独的方法,它做了一些处理SubStredisko,如更改值VyplatnaPaska等.这是它的样子:

    private static void VyplatnePasky_Items(ref Stredisko stredisko, XElement myElement)
    {
        //some logic here
    }
Run Code Online (Sandbox Code Playgroud)

我现在尝试做的事情(我遇到的问题)是使用?:运算符以下列方式调用此方法:

VyplatnePasky_Items((sPracovisko == null) ? ref sPracovisko_Dohodari : ref sPracovisko,xElement);
Run Code Online (Sandbox Code Playgroud)

但它突出显示sPracovisko_DohodarisPracovisko出现以下错误: …

c# logical-operators

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

Python泛型函数替换特殊字符

我一直在寻找一段时间,但我无法找到合适的解决方案.

我有一个荷兰语,法语和德语单词的数据库,都有自己的特殊字符.例如é,è,ß,ç,等...
对于某些情况下,如在一个网址,我想用字母数字字符替换这些.分别为e,e,ss,c,等...

是否有通用函数或Python包来执行此操作?

Regex当然,我可以做到这一点,但通用的东西在这里会很棒.

谢谢.

python regex generics

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

解压GZIP流

我正在尝试解压缩 GZipped 字符串,该字符串是网络服务响应的一部分。我拥有的字符串是:

"[31,-117,8,0,0,0,0,0,0,0,109,-114,65,11,-62,48,12,-123,-1,75,-50,-61,-42,-127,30,122,21,111,-126,94,60,-119,-108,-72,102,44,-48,-75,-93,-21,100,56,-6,-33,-19,20,20,101,57,37,95,-14,94,-34,4,-63,-5,-72,-73,-44,-110,-117,-96,38,-88,26,-74,38,-112,3,117,-7,25,-82,5,24,-116,56,-97,-44,108,-23,28,24,-44,-85,83,34,-41,97,-88,24,-99,23,36,124,-120,94,99,-120,15,-42,-91,-108,91,45,-11,70,119,60,-110,21,-20,12,-115,-94,111,-80,-93,89,-41,-65,-127,-82,76,41,51,-19,52,90,-5,69,-85,76,-96,-128,64,22,35,-33,-23,-124,-79,-55,-1,-2,-10,-87,0,55,-76,55,10,-57,122,-9,73,42,-45,98,-44,5,-77,101,-3,58,-91,39,38,51,-15,121,21,1,0,0]"

我正在尝试使用以下方法解压缩该字符串:

public static string UnZip(string value)
        {
            // Removing brackets from string
            value = value.TrimStart('[');
            value = value.TrimEnd(']');

            //Transform string into byte[]
            string[] strArray = value.Split(',');
            byte[] byteArray = new byte[strArray.Length];
            for (int i = 0; i < strArray.Length; i++)
            {
                if (strArray[i][0] != '-')
                    byteArray[i] = Convert.ToByte(strArray[i]);
                else
                {
                    int val = Convert.ToInt16(strArray[i]);
                    byteArray[i] = (byte)(val + 256);
                }
            }

            //Prepare for decompress
            System.IO.MemoryStream ms = new System.IO.MemoryStream(byteArray);
            System.IO.Compression.GZipStream sr = new System.IO.Compression.GZipStream(ms,
                System.IO.Compression.CompressionMode.Decompress);

            //Reset …
Run Code Online (Sandbox Code Playgroud)

c# compression gzip gzipstream

0
推荐指数
1
解决办法
8733
查看次数