小编Vla*_*mir的帖子

GitHub上的Pull请求的最佳实践

我已经阅读了这个这个讨论,但仍然有理解在GitHub上合作的最佳方式的麻烦.

假设我已经分配了一个仓库并独立开发它(原始仓库已经暂时没有激活).所以我确实拥有自己的develop分支,在那里我做了所有的改变:从中分支,在那里feature开发然后合并回来develop.我不时要向原始回购提交PR.但我不能做公关feature,因为它将包括所有的历史develop.这就是我的所作所为:

  • master跟踪原始回购的结帐
  • 从它那里吹嘘
  • 樱桃挑选feature并推送到GitHub
  • 提交公关

当这些PR合并到master原始repo时,我从中拉出然后合并masterdevelop.

它工作得很好,但它导致我自己的回购中相同的提交倍增,所以我不确定挑选樱桃是最好的方法吗?

分支master可能会更好,但是当我完成依赖于feature-1的feature-2时,通常会出现这种情况; 并且feature-1仍在等待PR合并,但还master没有.

我将不胜感激任何建议和例子.

git github pull-request git-fork

11
推荐指数
1
解决办法
3540
查看次数

连接两个大熊猫.HDFStore HDF5文件

这个问题以某种方式与"连接大量HDF5文件"有关.

我有几个巨大的HDF5文件(约20GB压缩),无法适应RAM.它们中的每一个都存储几个pandas.DataFrame相同格式的s和不重叠的索引.

我想将它们连接起来,让一个HDF5文件与所有DataFrame正确连接.一种方法是逐个块地读取它们,然后保存到单个文件中,但实际上需要花费很多时间.

是否有任何特殊工具或方法可以在不迭代文件的情况下执行此操作?

python hdf5 pytables pandas

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

在类的所有方法中将参数转换为相同标准的Pythonic方法

我正在编写一个类,其中有许多方法在类似的参数类型上运行:

class TheClass():
    def func1(self, data, params, interval):
        ....   
    def func2(self, data, params):
        ....
    def func3(self, data, interval):
        ....
    def func4(self, params):
        ....
    ...
Run Code Online (Sandbox Code Playgroud)

关于这些参数有一定的约定(例如data/ params应该是numpy.farrays,interval- a list的2 floats),但是我想允许用户有更多的自由:例如,函数应该接受intdata或者params,或者只接受int一个interval,然后假设这是有起点的终点0

所以为了避免方法中的所有这些转换,应该只做逻辑,我使用这样的装饰器:

def convertparameters(*types):
    def wrapper(func):

        def new_func(self, *args, **kwargs):
            # Check if we got enough parameters
            if len(types) > len(args):
                raise Exception('Not enough parameters')
            # Convert parameters
            new_args = list(args) …
Run Code Online (Sandbox Code Playgroud)

python oop arguments numpy python-decorators

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

向IPython Notebook注入/执行JS代码,并在重新加载页面时禁止其进一步执行

我正在编写必须将javascript代码嵌入到IPython Notebook中并执行它的库。HTML / JS代码如下所示:

<div id="unique_id"></div>
<script>
var div = document.getElementById("unique_id");
// Do the job and get "output"
div.textContent = output;  // display output after the cell
</script>
Run Code Online (Sandbox Code Playgroud)

和python代码:

from IPython import display
display.display(display.HTML(code))
Run Code Online (Sandbox Code Playgroud)

副作用是javascript代码存储在笔记本中单元格的输出中,并且每次重新加载页面或打开笔记本时,它将再次运行。

有什么方法可以禁止重新加载时执行的代码?还是可以运行javascript代码而不将其保存在输出中?

javascript ipython jupyter-notebook

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

如何在 terraform 中提取敏感的输出变量?

我有一个 terraform 配置,它使用访问密钥创建一个 AWS IAM 用户,并将 id 和 secret 分配给输出变量:

...

resource "aws_iam_access_key" "brand_new_user" {
  user = aws_iam_user.brand_new_user.name
}

output "brand_new_user_id" {
  value = aws_iam_access_key.brand_new_user.id
}

output "brand_new_user_secret" {
  value     = aws_iam_access_key.brand_new_user.encrypted_secret
  sensitive = true
}

Run Code Online (Sandbox Code Playgroud)

这里brand_new_user_secret被声明为敏感的,所以terraform output显然不打印它。

有没有办法在不解析整个状态文件的情况下获取其输出值?尝试直接访问它 ( terraform output brand_new_user_secret) 不起作用(导致错误“在状态文件中找不到请求的输出变量...”)。

地形版本:0.12.18

secret-key terraform

5
推荐指数
4
解决办法
4147
查看次数

pandas 中的自定义石斑鱼对象

如何实现自定义pandas.Grouper类?

换句话说 - 子类应该pandas.Grouper实现哪些方法/接口,以便它可以作为 的参数进行操作DataFrame.groupby

作为一个简短的玩具示例:编写一个石斑鱼类,该类将根据某些特定字符串列的前 5 个符号对数据帧进行分组。事实上,使用现有方法可以轻松实现这一点:

df.groupby(df[column].str[:5])
Run Code Online (Sandbox Code Playgroud)

但我正在寻找的是实现一些NameGrouper类,以便通过以下方式完成操作:

df.groupby(NameGrouper(column))
Run Code Online (Sandbox Code Playgroud)

ps 关于针对特定需求定制分组的问题(例如Pandas:自定义分组功能Pandas 自定义组聚合Pandas groupby 自定义组)有很多问题,并使用标准 pandas 功能提供答案。但我对默认 pandas 功能的扩展感兴趣。

python pandas pandas-groupby

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

删除“.terraform”文件夹的副作用

根据文档,.terraform文件夹包含提供商插件的缓存。

如果删除此文件夹(但保留状态文件),是否会在 上重新创建它terraform init?删除可能会产生哪些不良影响.terraform

terraform

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

在SciPy中使用固定参数拟合分布

是否可以在SciPy中拟合分布时修复参数?例如,这段代码:

import scipy.stats as st
xx = st.expon.rvs(size=100)
print st.expon.fit(xx, loc=0)
Run Code Online (Sandbox Code Playgroud)

导致非零位置(loc).

当某个参数提供给fit函数时,它被认为是初始猜测.如果它被提供给构造函数(st.expon(loc=0)),则分布变为"冻结"并且不能用于拟合.

python distribution scipy data-fitting exponential

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