小编Ben*_*uhn的帖子

你如何找到Phabricator对象的PHID?

我需要在Phabricator安装中为一个项目和多个用户获取PHID.看起来如何做到这一点似乎应该是微不足道的,但我搜索文档无济于事.我在错误的地方看什么?

phabricator

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

Scipy错误:numpy.dtype大小发生了变化,可能表示二进制不兼容(以及相关的奇怪行为)

我在OS X 10.9.4上安装numpy/scipy/scikit-learn,并且收到有关"numpy.dtype大小已更改,可能表示二进制不兼容"的错误.

这是我为构建回购而做的事情:

mkvirtualenv thm
workon thm
pip install numpy scipy pandas ipython # and some other stuff
cd /path/to/our/repo
# run tests
Run Code Online (Sandbox Code Playgroud)

这是一个相关警告的追溯摘录(由于我们warnings.simplefilter('error')在测试开始时使用,因此变成了错误):

======================================================================
ERROR: Failure: RuntimeWarning (numpy.dtype size changed, may indicate binary in
compatibility)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/ben/.virtualenvs/thm/lib/python2.7/site-packages/nose/loader.py",
 line 414, in loadTestsFromName
    addr.filename, addr.module)
  File "/Users/ben/.virtualenvs/thm/lib/python2.7/site-packages/nose/importer.py
", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/Users/ben/.virtualenvs/thm/lib/python2.7/site-packages/nose/importer.py
", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/Users/ben/code/thm/alpha/prosper/base/stats/test_auc.py", line 3, …
Run Code Online (Sandbox Code Playgroud)

python macos numpy scipy scikit-learn

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

使animateLayoutChanges和滚动视图很好地发挥作用

我有一个涉及表单验证的活动,验证错误出现在表单字段下方.该表单有时会公开其他表单字段,并且还足够长,对于小屏幕,如果用户应该看到底部,则需要滚动它.我android:animateLayoutChanges="true"在layout元素中使用了这些过渡动画.我对此视图有以下两个相关问题:

  1. 我想滚动到滚动视图的最底部,而动画(显示表单字段)正在改变视图的高度.如果我尝试这样做,滚动将停留在视图的底部.

  2. 如果视图已经一直滚动到底部,并且发生了一个动画,它会降低视图的高度 - 比如验证错误消失 - 那么一切都会停留在同一个地方,直到动画结束然后快照增加10px(或任何高度减少).我想动画这个变化.

我觉得有一些技巧或API我不知道 - 我该如何完成这些?

谢谢!

android android-layout

8
推荐指数
0
解决办法
600
查看次数

为什么 Android Studio 和 gradle 可以使用不同的类路径进行单元测试?

我有一套单元测试,当通过./gradlew :project:testDebugUnitTests. 但是,当我在 Android Studio 中运行它们时,我遇到了一个模糊的问题,我最终使用与此 Gradle 命令不同的类路径追踪到了似乎是 Android Studio 的问题。

有问题的依赖项是 Byte Buddy,我遇到了此错误的一个变体,变体已在 1.9.0 中修复。运行./gradlew dependencies表明,1.9.10将在我的构建中使用,但是当我看到在命令行是Android Studio中使用运行我的测试中,该-classpath参数包含两个1.8.101.9.10和1.8.10版本列表中的第一个。

我真的对可能导致这种情况的原因感到困惑,因为我原以为 Android Studio 会从其 Gradle 集成中获取类路径。我喜欢任何关于为什么会发生这种情况或如何进一步调试的线索。

java android classpath gradle android-studio

8
推荐指数
0
解决办法
154
查看次数

快速将多个列添加到Pandas数据框中

我正在编写一些对性能敏感的代码,我必须在其中快速添加大量列到Pandas数据帧.

df[foo] = bar通过从dict构造第二个数据帧并将它们连接起来,我已经设法通过天真的重复获得了3倍的改进:

def mkdf1(n):
    df = pd.DataFrame(index=range(10,20), columns=list('qwertyuiop'))
    for i in xrange(n):
        df['col%d' % i] = range(i, 10+i)
    return df

def mkdf2(n):
    df = pd.DataFrame(index=range(10,20), columns=list('qwertyuiop'))
    newcols = {}
    for i in xrange(n):
        newcols['col%d' % i] = range(i, 10+i)
    return pd.concat([df, pd.DataFrame(newcols, index=df.index)], axis=1)
Run Code Online (Sandbox Code Playgroud)

时间显示出实质性的改善:

%timeit -r 1 mkdf1(100)
100 loops, best of 1: 16.6 ms per loop

%timeit -r 1 mkdf2(100)
100 loops, best of 1: 5.5 ms per loop
Run Code Online (Sandbox Code Playgroud)

我可以在这里进行任何其他优化吗?

编辑:此外,concat我的真实代码中的通话比我的玩具示例要长得多; 特别是get_result …

python performance numpy dataframe pandas

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

将SQLAlchemy关系与笨拙的连接相关联

我有以下课程:

class A:
    a_id = Column(Integer, primary_key=True)
    a_remote = Column(UnicodeText)

class B:
    b_id = Column(Integer, primary_key=True)
    foreign_to_a = Column(UnicodeText)
    maximum_a = relationship(A, primaryjoin=lambda:
      and_(remote(a_remote) == foreign(foreign_to_a),
           A.a_id = select([func.max(A.a_id)]).where(A.a_remote == B.foreign_to_a))
    )
Run Code Online (Sandbox Code Playgroud)

换句话说,我试图创建一个maximum_aa_id给定B指向的所有A中最大的关系.我特别希望这是一个关系,以便我可以预取它joinedload以避免我们现在有O的情况( N)查询.

当我尝试预加载maximum_a关系(例如via session.query(B).options(joinedload('maximum_a')).all())时,我收到以下错误:

sqlalchemy.exc.InvalidRequestError: Select statement 'SELECT max(a_1.a_id) AS max_1
FROM a AS a_1, b
WHERE a_1.a_remote = b.foreign_to_a' returned no FROM clauses due to auto-correlation; specify correlate(<tables>) to control correlation manually.
Run Code Online (Sandbox Code Playgroud)

我曾尝试阅读有关相关的SQLA文档,但它们都是根据原始select而不是ORM调用编写的,描述不是很清楚,所以我不确定在哪里添加correlate调用 - …

python orm sqlalchemy

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

Pandas:快速将可变月份数添加到时间戳列

这是设置:

我有两个(整数索引)列,startmonth_delta. start有时间戳(它的内部类型是np.datetime64[ns])并且month_delta是整数。

我想很快产生包括在每个日期时间的列start,在几个月内完成相应数量的偏移month_delta。我该怎么做呢?

我尝试过但不起作用的事情:

  • apply 太慢了。
  • 您不能将一系列DateOffset对象添加到一系列datetime64[ns]dtype(或 a DatetimeIndex)。
  • 您也不能使用 Seriestimedelta64对象;Pandas 默默地将基于月份的 timedeltas 转换为大约 30 天长的基于纳秒的 timedeltas。(哎呀!没有默默失败是怎么回事?)

目前,我正在迭代所有不同的值,month_delta并在我创建tshift的 a 的相关部分执行该数量的操作DatetimeIndex,但这是一个可怕的混杂:

new_dates = pd.Series(pd.Timestamp.now(), index=start.index)
date_index = pd.DatetimeIndex(start)
for i in xrange(month_delta.max()):
    mask = (month_delta == i)
    cur_dates = pd.Series(index=date_index[mask]).tshift(i, freq='M').index
    new_dates[mask] = cur_dates
Run Code Online (Sandbox Code Playgroud)

糟糕!有什么建议?

python datetime numpy pandas

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

统计模型逻辑回归收敛问题

我正在尝试在大型设计矩阵(约 200 列)上的 statsmodels 中运行逻辑回归。这些特征包括大量交互、分类特征和半稀疏(70%)整数特征。虽然我的设计矩阵实际上并不是病态的,但它似乎有些接近(根据numpy.linalg.matrix_rank,它是满秩的,tol=1e-3但不是满秩的tol=1e-2)。因此,我正在努力使逻辑回归与 statsmodels 中的任何方法收敛。到目前为止,这是我尝试过的:

  • method='newton':1000次迭代后未收敛;LinAlgError在尝试反转 Hessian 矩阵时提出了一个奇异矩阵。

  • method='bfgs':警告可能出现精度损失。声称0次迭代后收敛,显然实际上并未收敛。

  • method='nm':声称它已经收敛,但模型具有负伪 R 方,并且许多系数仍然为零(并且与条件更好的子模型收敛到的值非常不同)。我尝试降低转速xtol1e-8无济于事。

  • fit_regularized(method='l1'): 报道过Inequality constraints incompatible (Exit mode 4)LinAlgError然后在尝试计算受限 Hessian 逆矩阵时提出奇异矩阵。

numpy mathematical-optimization numerical-methods statsmodels logistic-regression

5
推荐指数
0
解决办法
3755
查看次数

如何以统一的方式获得 Python 包更新的通知?

我在一个带有 20 多个依赖包的 Python Web 应用程序上工作。我很想以某种方式获取所有这些包的更新源,这样我就可以查看他们的更新日志并在包修复了重要的错误或潜在的安全漏洞时快速更新。有没有一种方法可以让我在不单独搜索所有 20 个包的项目主页 RSS 提要(如果存在)的情况下做到这一点?

理想情况下,我希望能够自动读取我们的requirements.txt文件并构建一个提要,但我会满足于手动整理 RSS 提要列表或手动将一些电子邮件地址订阅到一堆电子邮件列表中。

python pip pypi

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