小编Nin*_*non的帖子

抽象季节/节目/剧集数据的最佳方式

基本上,我已经用Python在www.thetvdb.com上编写了一个API.可在此处找到当前代码.

它根据请求从API中获取数据,并且必须以某种方式存储数据,并通过执行以下操作使其可用:

print tvdbinstance[1][23]['episodename'] # get the name of episode 23 of season 1
Run Code Online (Sandbox Code Playgroud)

Tvdb()课堂上抽象这些数据的"最佳"方法是什么?

我最初使用了一个Dict()自动创建子代码的扩展(所以你可以不必x[1][2][3][4] = "something"这样做if x[1].has_key(2): x[1][2] = []等等)

然后我就这样存储了数据 self.data[show_id][season_number][episode_number][attribute_name] = "something"

这样做没问题,但没有简单的方法来检查是否x[3][24]应该存在(所以我无法提出season_not_found异常).

目前,它的使用四个类:ShowContainer,Show,SeasonEpisode.每一个都是一个非常基本的字典,我可以轻松地添加额外的功能(例如,search()函数Show()).每个都有一个__setitem__,__getitem_has_key.

这个工作大部分都很好,我可以查看显示它是否有它的self.datadict中的那个季节,如果没有,raise season_not_found.我也可以检查Season()它是否有那一集等等.

现在的问题是,它的提出本身作为一个字典,但不具有的所有功能,而且因为我重写__getitem____setitem__功能,很容易不小心递归调用__getitem__(所以我不知道如果扩展Dict类会引起问题).

另一个小问题是将数据添加到dict中的工作量远远超过旧Dict方法(当时self.data[seas_no][ep_no]['attribute'] = …

python data-structures

15
推荐指数
1
解决办法
970
查看次数

模拟返回Page interface的方法

我有一个方法,我需要编写单元测试用例.该方法返回一个Page类型.

我该如何模仿这种方法?

方法:

public Page<Company> findAllCompany( final Pageable pageable )
{
    return companyRepository.findAllByIsActiveTrue(pageable);
}
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助

java junit mockito powermockito

15
推荐指数
1
解决办法
9767
查看次数

在pandas数据框from_dict中设置列名,其中orient ='index'

我已经看过这个问题了:pandas在dict的数据框架中创建了命名列.但是,我的例子略有不同.

我有一本字典: my_dict = {'key1' : [1,2,3], 'key2' : [4,5,6], 'key3' :[7,8,9]}

我创建了一个pandas数据帧:df = pd.DataFrame.from_dict(my_dict, orient='index')这是面向行的.但是,写作时columns = ['one', 'two', 'three']我得到一个错误,如上面的链接.

我怎么命名他们?

python dictionary key

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

通过命令行将文件添加到Xcode项目?在Xcode中使用project.pbxproj文件?

我试图通过命令行将一个plist文件添加到xcode项目中,一些博客建议编辑该project.pbxproj文件.我搜索了该project.pbxproj文件,但无法获得有关它的更多信息.任何人都可以让我知道project.pbxprojxcode中文件的用途是什么?如何添加条目?

我正在使用这个仓库来处理它.

我写的脚本如下:

import sys
import os
from mod_pbxproj import XcodeProject


def addPlistInProject(corodova_proj_name, xcode_proj_name, plist_file_name):
    print "Cordova project name : " + corodova_proj_name
    present_directory = os.getcwd()
    path_to_xcode_proj = present_directory + '/' + corodova_proj_name + '/platforms/ios/' + xcode_proj_name + '.xcodeproj/project.pbxproj'
    print "Xcode Project Path : " + path_to_xcode_proj
    project = XcodeProject.Load(path_to_xcode_proj)
    project.get_or_create_group('new group')
    project.add_file(plist_file_name)


if __name__ == "__main__":
    corodova_proj_name = sys.argv[1]
    xcode_proj_name = sys.argv[2]
    plist_file_name = sys.argv[3]
    print "Xcode Project Name = : …
Run Code Online (Sandbox Code Playgroud)

python xcode

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

如何为dict添加python docstring

为字典参数添加docstring的推荐方法是什么?我可以在这里看到多行doc-string示例.

我需要在docstring中记录函数的输入参数.如果它是一个简单的变量,我可以使用类似的东西:

 def func2(a=x, b = y):
 """ fun2 takes two integers 

 Keyword arguments:
 a -- refers to age (default 18)
 b -- refers to experience (default 0)
 """
Run Code Online (Sandbox Code Playgroud)

如果我们dict作为输入参数传递给函数:

 def func3(**kwargs):
     """ takes dictionary as input

      <Here how to explain them - Is it like?> 
      kwargs['key1'] -- takes value1

      <or simply>
      key1 -- takes value1
      """
Run Code Online (Sandbox Code Playgroud)

python dictionary docstring

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

Pythonic用很多参数编写函数/方法的方法

想象一下:

def method(self, alpha, beta, gamma, delta, epsilon, zeta, eta, theta, iota, kappa):
    pass
Run Code Online (Sandbox Code Playgroud)

这条线超过了79个字符,那么多线性的pythonic方式是什么?

python idioms idiomatic

10
推荐指数
3
解决办法
6870
查看次数

正确的方法来增加信号噪音

在许多领域,我发现在添加噪声的同时,我们提到了一些规范,如零均值和方差.我需要在Db中添加AWGN,有色噪声,不同SNR的均匀噪声.以下代码显示了我生成和添加噪声的方式.我知道这个功能,awgn()但它是一种黑盒子的东西,不知道如何添加噪音.那么,有人可以解释生成和添加噪声的正确方法.谢谢

SNR = [-10:5:30]; %in Db
snr = 10 .^ (0.1 .* SNR);

for I = 1:length(snr)
    noise = 1 / sqrt(2) * (randn(1, N) + 1i * randn(1, N));
    u = y + noise .* snr(I);
end
Run Code Online (Sandbox Code Playgroud)

matlab signal-processing noise

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

在Seaborn中创建一个黑暗的反色调色板

我正在使用顺序调色板创建一个包含几个图的图形,如下所示:

import matplotlib.pyplot as plt
import seaborn as sns
import math

figure = plt.figure(1)
x = range(1, 200)
n_plots = 10

with sns.color_palette('Blues_d', n_colors=n_plots):
    for offset in range(n_plots):
        plt.plot(x, [offset + math.sin(float(i) / 10) for i in range(len(x))])

figure.show()
Run Code Online (Sandbox Code Playgroud)

但是,我想颠倒调色板.该教程声明我可以添加'_r'到调色板名称以反转它并'_d'使其"变暗".但我似乎没有能够做到这些结合在一起:'_r_d','_d_r','_rd''_dr'所有产生错误.如何创建黑暗的反转调色板?

python python-2.7 seaborn

10
推荐指数
1
解决办法
3841
查看次数

全球之前一切都是开玩笑?

我需要使用 React 测试库和 Jest 在测试中模拟不同的窗口大小。

目前我必须beforeAll在每个测试文件中都包含此内容:

import matchMediaPolyfill from 'mq-polyfill';

beforeAll(() => {
  matchMediaPolyfill(window)
  window.resizeTo = function resizeTo(width, height) {
    Object.assign(this, {
      innerWidth: width,
      innerHeight: height,
      outerWidth: width,
      outerHeight: height,
    }).dispatchEvent(new this.Event('resize'))
  }
})
Run Code Online (Sandbox Code Playgroud)

我这样使用:

it('does something at small screen sizes', async () => {
  window.resizeTo(320, 800);
  // actual test here
Run Code Online (Sandbox Code Playgroud)

我可以有一个beforeAll适用于项目中每个测试文件的全局变量吗?

文档提到globalsetuphttps ://jestjs.io/docs/en/configuration#globalsetup-string

然而,它会出错,因为它无法识别该beforeAll功能。在我看来,该选项是用于设置环境但不向测试文件添加某些内容?

javascript jestjs

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

Tensorflow:我什么时候应该使用或不使用`feed_dict`?

我有点困惑,为什么要使用feed_dict?根据我的朋友说,您通常在使用feed_dict时使用placeholder,这可能对生产不利。

我看过这样的代码,其中feed_dict没有涉及:

for j in range(n_batches):
    X_batch, Y_batch = mnist.train.next_batch(batch_size)
    _, loss_batch = sess.run([optimizer, loss], {X: X_batch, Y:Y_batch}) 
Run Code Online (Sandbox Code Playgroud)

我也看到过这样的代码,其中feed_dict涉及到:

for i in range(100): 
    for x, y in data:
        # Session execute optimizer and fetch values of loss
        _, l = sess.run([optimizer, loss], feed_dict={X: x, Y:y}) 
        total_loss += l
Run Code Online (Sandbox Code Playgroud)

我知道feed_dict您正在输入数据,并X像在字典中一样尝试作为键。但是在这里我看不到任何区别。那么,到底有什么区别feed_dict?为什么需要?

tensorflow

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