小编Joh*_*nak的帖子

Python创建的HDF5数据集在Matlab中转置

我有一些我在Python和Matlab之间共享的数据.我曾经通过在MATLAB风格的.mat文件中保存NumPy数组来做到这一点,但是想切换到HDF5数据集.但是,我注意到一个有趣的特性:当我将NumPy数组保存在HDF5文件中(使用h5py)然后在Matlab中读取它(使用h5read)时,它最终会被转置.有什么我想念的吗?

Python代码:

import numpy as np
import h5py

mystuff = np.random.rand(10,30)

f = h5py.File('/home/user/test.h5', 'w')
f['mydataset'] = mystuff
f.close()
Run Code Online (Sandbox Code Playgroud)

Matlab代码:

mystuff = h5read('/home/user/test.h5', '/mydataset');
size(mystuff) % 30 by 10
Run Code Online (Sandbox Code Playgroud)

python matlab numpy hdf5 h5py

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

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

Spring Injection - 访问构造函数中的注入对象

我有一个资源(Spring bean),它的一些字段由Spring注入,例如:

@Repository(value="appDao")
public class AppDaoImpl implements AppDao {
   @PersistenceContext
   EntityManager entityManager;

   public Resource() {
      ... use entityManager ... // doesn't work
   }
}
Run Code Online (Sandbox Code Playgroud)

我知道我不能在构造函数中访问注入的entityManager,并且应该@PostConstruct在不同的方法上使用注释.但是这有什么原因呢?

java spring dependency-injection

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

列出给定正则表达式/一组扩展名的目录中的所有文件(Matlab)

我有一个正则表达式定义感兴趣的文件名.列出符合此条件的目录中的所有文件的最佳方法是什么?

我的尝试是:

f = dir(DIR);
f = {f([f.isdir] == 0).name};
result = f(~cellfun(@isempty, regexpi(f, '.*(avi|mp4)')));
Run Code Online (Sandbox Code Playgroud)

但是,我想知道是否有更快和/或更清洁的解决方案呢?

是否可以简化它,如果不是正则表达式,我只有一个可能的文件扩展名列表?

matlab file

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

JPA和DAO - 标准方法是什么?

我正在使用JPA/Hibernate和Spring开发我的第一个应用程序.我在DAO课上的第一次尝试看起来像这样:

@Repository(value = "userDao")
public class UserDaoJpa implements UserDao {
    @PersistenceContext
    private EntityManager em;

    public User getUser(Long id) {
        return em.find(User.class, id);
    }

    public List getUsers() {
        Query query = em.createQuery("select e from User e");
        return query.getResultList();
    }
}
Run Code Online (Sandbox Code Playgroud)

我还发现了一些使用JpaDaoSupport和的例子JpaTemplate.你更喜欢哪种设计?我的例子有什么问题吗?

spring dao jpa

6
推荐指数
1
解决办法
2813
查看次数

集成测试无法启动(Failsafe,Maven)

我正在尝试使用Maven Failsafe插件来运行此配置的集成测试:

 <plugin>
    <artifactId>maven-failsafe-plugin</artifactId>
    <version>2.7.1</version>
    <executions>
      <execution>
        <id>integration-test</id>
        <goals>
          <goal>integration-test</goal>
        </goals>
      </execution>
      <execution>
        <id>verify</id>
        <goals>
          <goal>verify</goal>
        </goals>
      </execution>
     </executions>
</plugin>

<plugin>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>maven-jetty-plugin</artifactId>
    <version>6.1.7</version>
    <configuration>

          <connectors>
            <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
              <port>8080</port>
              <maxIdleTime>3600000</maxIdleTime>
            </connector>
          </connectors>

        <contextPath>/</contextPath>
        <scanIntervalSeconds>3</scanIntervalSeconds>
        <scanTargetPatterns>
            <scanTargetPattern>
                <directory>src/main/webapp/WEB-INF</directory>
                <excludes>
                    <exclude>**/*.jsp</exclude>
                    <exclude>**/*.html</exclude>
                </excludes>
                <includes>
                    <include>**/*.page</include>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
            </scanTargetPattern>
        </scanTargetPatterns>
    </configuration>
    <executions>
            <execution>
                <id>start-jetty</id>
                <phase>pre-integration-test</phase>
                <goals>
                  <goal>run-war</goal>
                </goals>
                <configuration>
                  <scanIntervalSeconds>0</scanIntervalSeconds>
                  <daemon>true</daemon>
                </configuration>
            </execution>
            <execution>
                <id>stop-jetty</id>
                <phase>post-integration-test</phase>
                <goals>
                  <goal>stop</goal>
                </goals>
            </execution>
  </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

一切都很好,直到Jetty在预集成测试阶段开始.然后没有任何事情发生,好像在等待什么.最后一行说:

[INFO] Started Jetty Server

如何让测试在之后开始?我用maven运行maven mvn verify.

java testing jetty maven maven-failsafe-plugin

6
推荐指数
1
解决办法
1511
查看次数

InputStream的自定义实现

要将数据发送到我的FTP服务器上的文件,我需要创建一个自定义的InputStream实现,逐行读取数据库数据,将其转换为CSV并通过其read()方法发布它:从数据库中,我得到一个List<Application>对象数据.对于每个Application对象,我想在CSV文件中创建一行.

我的想法是在构造函数中加载所有数据,然后覆盖read方法.我是否需要覆盖所有InputStream的方法?我尝试谷歌搜索一些例子,但没有成功 - 你最终能给我一个链接吗?

java ftp inputstream java-io

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

NumPy 中的相关矩阵与 NaN

A 有一个n x m矩阵,其中 rowi表示变量的时间序列V_i。我想计算n x n相关矩阵M,其中M_{i,j}包含的相关系数(皮尔森r之间)V_iV_j

但是,当我在 numpy 中尝试以下操作时:

numpy.corrcoef(numpy.matrix('5 6 7; 1 1 1'))
Run Code Online (Sandbox Code Playgroud)

我得到以下输出:

array([[  1., nan],
       [ nan, nan]])
Run Code Online (Sandbox Code Playgroud)

似乎numpy.corrcoef不喜欢单位向量,因为如果我将第二行更改为 ,则会7 6 5得到预期的结果:

array([[  1., -1.],
       [ -1.,  1.]])
Run Code Online (Sandbox Code Playgroud)

这种行为的原因是numpy.corrcoef什么?

python numpy matrix correlation

6
推荐指数
1
解决办法
5569
查看次数

迭代`np.where`的输出

我有一个3D数组,用于np.where查找满足特定条件的元素.输出np.where是三个1D阵列的元组,每个阵列沿单个轴给出索引.我想迭代这个输出并打印出满足条件的矩阵中每个点的索引.

一种方法是:

indices = np.where(myarray == 0)
for i in range(0, len(indices[0])):
    print indices[0][i], indices[1][i], indices[2][i]
Run Code Online (Sandbox Code Playgroud)

然而,它看起来有点麻烦,我想知道是否有更好的方法?

python indexing numpy multidimensional-array

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

电子邮件中的尾随等号 (=)

我使用 POP3 从 Gmail 帐户下载邮件并将其保存在 SQLite 数据库中以供进一步处理:

mailbox = poplib.POP3_SSL('pop.gmail.com', '995') 
mailbox.user(user) 
mailbox.pass_(password)

msgnum = mailbox.stat()[0]

for i in range(msgnum):
    msg = '\n'.join(mailbox.retr(i+1)[1])
    save_message(msg, dbmgr)

mailbox.quit()
Run Code Online (Sandbox Code Playgroud)

但是,在数据库中查找时,除了消息正文(有效负载)的最后一行之外,所有行都有尾随等号。你知道为什么会发生这种情况吗?

python email character-encoding poplib quoted-printable

5
推荐指数
1
解决办法
2477
查看次数