小编unu*_*tbu的帖子

字典无法识别浮点键

我有一本名为 G 的字典。当我输入 时G. keys (),输出的示例如下:

>>> G.keys ()
[(1490775.0, 12037425.0), (1493775.0, 12042675.0), (1481055.0, 12046305.0), (1503105.0, 12047415.0), (1488585.0, 12050685.0), (1483935.0, 12051405.0),...
Run Code Online (Sandbox Code Playgroud)

当我使用该操作时,key in G结果是错误的。

>>> (1490775.0, 12037425.0) in G
False
Run Code Online (Sandbox Code Playgroud)

为什么我的字典无法识别我的按键?

>>> type (G.keys()[0])
<type 'numpy.void'>
>>> type (G.keys()[0][0])
<type 'numpy.float64'>
>>> type (G.keys()[0][1])
<type 'numpy.float64'>
type(G)
<type 'dict'>
Run Code Online (Sandbox Code Playgroud)

python floating-point dictionary numpy key

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

重载unittest.testcase的__init__

我想在我的子类中添加两个变量,这些变量继承自unittest.testcase

像我一样:

import unittest

class mrp_repair_test_case(unittest.TestCase):

     def __init__(self, a=None, b=None, methodName=['runTest']):
             unittest.TestCase.__init__(self)
             self.a= a
              self.b = b

     def test1(self):
           ..........
           .......

def runtest()
    mrp_repair_test_case(a=10,b=20)
    suite = unittest.TestLoader().loadTestsFromTestCase(mrp_repair_test_case)
    res = unittest.TextTestRunner(stream=out,verbosity=2).run(suite)
Run Code Online (Sandbox Code Playgroud)

我怎么能得到这个:我收到这个错误:

ValueError: no such test method in ****<class 'mrp_repair.unit_test.test.mrp_repair_test_case'>:**** runTest
Run Code Online (Sandbox Code Playgroud)

谢谢

python unit-testing

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

如何在Python中自定义logging.Handler中获取日志记录的级别?

我想通过自定义日志记录处理程序或自定义记录器类来创建自定义记录器方法,并将记录记录分派给不同的目标.

例如:

log = logging.getLogger('application')

log.progress('time remaining %d sec' % i)
    custom method for logging to:
            - database status filed
            - console custom handler showing changes in a single console line

log.data(kindOfObject)
    custom method for logging to:
            - database
            - special data format

log.info
log.debug
log.error
log.critical
    all standard logging methods:
        - database status/error/debug filed
        - console: append text line
        - logfile
Run Code Online (Sandbox Code Playgroud)

如果我通过重写emit方法使用自定义LoggerHandler,我无法区分日志记录的级别.是否有任何其他可能性来获取记录级别的运行时信息?

class ApplicationLoggerHandler(logging.Handler):

  def emit(self, record):
    # at this place I need to know the level of the …
Run Code Online (Sandbox Code Playgroud)

python logging

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

寻找估算方法(数据分析)

由于我现在不知道我在做什么,我的措辞可能听起来很有趣.但说真的,我需要学习.

我现在面临的问题是要拿出一个方法(模型)估算的软件程序是如何工作的:即运行时间和最大内存使用情况.我已经拥有的是大量数据.该数据集概述了程序在不同条件下的工作方式,例如

<code>
RUN     Criterion_A  Criterion_B  Criterion_C  Criterion_D  Criterion_E <br>
------------------------------------------------------------------------
R0001           12         2           3556            27           9 <br>      
R0002            2         5           2154            22           8 <br>
R0003           19        12           5556            37           9 <br>
R0004           10         3           1556             7           9 <br>
R0005           5          1            556            17           8 <br>
</code>
Run Code Online (Sandbox Code Playgroud)

我有数千行这样的数据.现在我需要知道如果我事先知道所有标准,我如何估计(预测)运行时间和最大内存使用量.我需要的是一个给出提示(上限或范围)的近似值.

我觉得这是一个典型的??? 我不知道的问题.你们能给我一些提示或给我一些想法(理论,解释,网页)或任何可能有用的东西.谢谢!

statistics data-analysis approximation forecasting

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

Gt中默认禁用GtkSpinButton

我将GtkSpinButton添加到Glade的对话框中,默认情况下禁用它:

在此输入图像描述

我该怎么做才能启用箭头?

python pygtk glade

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

在matplotlib.pyplot中绘图时如何显示日期?

我有这个python代码用于显示一些数字随着时间的推移:

import matplotlib.pyplot as plt
import datetime
import numpy as np

x = np.array([datetime.datetime(2013, 9, i).strftime("%Y-%m-%d") for i in range(1,5)], 
            dtype='datetime64')
y = np.array([1,-1,7,-3])
plt.plot(x,y)
plt.axhline(linewidth=4, color='r')
plt.show()
Run Code Online (Sandbox Code Playgroud)

生成的图形在x轴上的数字为0.0到3.0:

在此输入图像描述

显示日期而不是这些数字的最简单方法是什么?优选地,格式为%b%d.

python numpy matplotlib

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

如何在熊猫中传递多个参数来映射函数

我有一个以下dataFrame

mn = pd.DataFrame({'fld1': [2.23, 4.45, 7.87, 9.02, 8.85, 3.32, 5.55],'fld2': [125000, 350000,700000, 800000, 200000, 600000, 500000],'lType': ['typ1','typ2','typ3','typ1','typ3','typ1','typ2'], 'counter': [100,200,300,400,500,600,700]})
Run Code Online (Sandbox Code Playgroud)

映射功能

def getTag(rangeAttribute):
    sliceDef = {'tag1': [1, 4], 'tag2': [4, 6], 'tag3': [6, 9],
                'tag4': [9, 99]}
    for sl in sliceDef.keys():
        bounds = sliceDef[sl]
        if ((float(rangeAttribute) >= float(bounds[0]))
            and (float(rangeAttribute) <= float(bounds[1]))):
            return sl


def getTag1(rangeAttribute):
    sliceDef = {'100-150': [100000, 150000],
                '150-650': [150000, 650000],
                '650-5M': [650000, 5000000]}
    for sl in sliceDef.keys():
        bounds = sliceDef[sl]
        if ((float(rangeAttribute) >= float(bounds[0]))
            and (float(rangeAttribute) …
Run Code Online (Sandbox Code Playgroud)

python map pandas

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

Python,删除以特定字符开头的单词

如何在python中删除以特定字符开头的单词?

例如。

string = 'Hello all please help #me'
Run Code Online (Sandbox Code Playgroud)

我想删除以 #

我想要的结果是:

Hello all please help 
Run Code Online (Sandbox Code Playgroud)

python

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

熊猫用空白读取多索引csv

我正在努力正确加载一个带有空格的多行标题的csv.CSV看起来像这样:

,,C,,,D,,
A,B,X,Y,Z,X,Y,Z
1,2,3,4,5,6,7,8
Run Code Online (Sandbox Code Playgroud)

CSV标头

我想得到的是:

期望的熊猫标题

当我尝试加载时pd.read_csv(file, header=[0,1], sep=','),我最终得到以下内容:

结果不正确

有没有办法获得理想的结果?


注意:或者,我会接受这样的结果:

替代结果


使用的版本:

  • Python:2.7.8
  • 熊猫0.16.0

python csv python-2.7 pandas

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

如何在熊猫中使用“ Series.interpolate”并修改旧值

使用有效数据的interploate方法pandas来插值nan。但是,它保持旧的有效数据不变,如以下代码所示。

有什么方法可以使用interploate更改了旧值以使序列变得平滑的方法?

In [1]: %matplotlib inline
In [2]: from scipy.interpolate import UnivariateSpline as spl
In [3]: import numpy as np
In [4]: import pandas as pd
In [5]: samples = { 0.0: 0.0, 0.4: 0.5, 0.5: 0.9, 0.6: 0.7, 0.8:0.3, 1.0: 1.0 }
In [6]: x, y = zip(*sorted(samples.items()))

In [7]: df1 = pd.DataFrame(index=np.linspace(0, 1, 31), columns=['raw', 'itp'], dtype=float)

In [8]: df1.loc[x] = np.array(y)[:, None]
In [9]: df1['itp'].interpolate('spline', order=3, inplace=True)
In [10]: …
Run Code Online (Sandbox Code Playgroud)

python interpolation pandas

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