小编n10*_*000的帖子

获取Python中忙碌CPU的数量

我正在编写一个multiprocessing在具有大量CPU的服务器上运行的例程.但是,服务器有多个用户,其用途可能会有所不同.所以我想根据当前负载调整使用的处理器数量.

  • 有没有办法估计当前在Python中忙碌的CPU数量?我才发现multiprocessing.cpu_count()
  • 奖励问题:multiprocessing.Pool(processes=no_cpus)如果服务器上的负载在一段时间后发生了变化,是否可以在活动期间进行更改?

python multiprocessing

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

单词:隐藏在文本背后的图片

由于此问题在我的工作流程中重复出现,因此很难找到解决方案:

将图片粘贴到MS Word文档时,有时它会消失在文本后面,至少在打印版面中工作时.有时文本也会消失,只有部分图像可见.

ms-word

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

使用psycopg2 copy_from()在Postgresql中复制NULL值

这似乎是一个相当受欢迎的问题,但这里的所有答案都没有帮助我解决问题...我的OS X机器上有一个Postgresql 9.5表:

CREATE TABLE test (col1 TEXT, col2 INT)
Run Code Online (Sandbox Code Playgroud)

以下函数使用psycopg2 copy_from()命令:

def test_copy(conn, curs, data):
    cpy = BytesIO()
    for row in data:
         cpy.write('\t'.join([str(x) for x in row]) + '\n')
    print cpy
    cpy.seek(0)
    curs.copy_from(cpy, 'test')

test_copy(connection, [('a', None), ('b', None)])
Run Code Online (Sandbox Code Playgroud)

并将导致此错误:

ERROR:  invalid input syntax for integer: "None"
CONTEXT:  COPY test, line 1, column col2: "None"
STATEMENT:  COPY test FROM stdin WITH DELIMITER AS '    ' NULL AS '\N'
Run Code Online (Sandbox Code Playgroud)

我也试过curs.copy_from(cpy, 'test', null=''),curs.copy_from(cpy, 'test', null='NULL').任何建议都非常感谢.

postgresql psycopg2

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

如何检查浮点数列表加起来是否为整数?

我想找到浮点数列表的总和并检查它是否是整数:

l = [0.85, 0.85, 0.15, 0.15]
Run Code Online (Sandbox Code Playgroud)

l显然,和是 2.0。但 Python 不同意,由于浮点数限制

> sum(l)
1.9999999999999998
Run Code Online (Sandbox Code Playgroud)

因此,我选择的方法sum(l).is_integer(),将返回False

评估列表是否为整数的更好方法是什么?

python math floating-point sum list

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

从 Python dict 批量更新 PostgreSQL

在现有的 PostgreSQL 表中,我想要UPDATE几个现有列的值来自字典查找(请参阅下面的字典)。有点像这篇不错的博客文章中描述的那样。但是,我不知道如何使用 Python 字典来做到这一点。可怕的伪代码来了:

d = {10:'chair', 11:'table', 12:'lamp', 
    20:'english ivy', 21:'peace lily', 22:'spider plant'}

curs.execute("""
    UPDATE my_table t
    SET furniture = %(t.furniture)s,
    SET plant = %(t.plant)s""",
    d)
Run Code Online (Sandbox Code Playgroud)

最初的表看起来有点像这样:

gid | furniture | plant
-----------------------
 0  |    10     |  21
 1  |    11     |  20
 ...
Run Code Online (Sandbox Code Playgroud)

之后的操作就应该是这样的:

gid | furniture |    plant
-----------------------------
 0  |   chair   | peace lily
 1  |   table   | english ivy
 ...
Run Code Online (Sandbox Code Playgroud)

这是可能的还是我必须遍历表格?

python postgresql dictionary psycopg2

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

将函数应用于类的所有实例

我正在寻找一种方法将函数应用于类的所有实例.一个例子:

class my_class:

    def __init__(self, number):
        self.my_value = number
        self.double = number * 2

    @staticmethod
    def crunch_all():
        # pseudocode starts here
        for instances in my_class:
             instance.new_value = instance.my_value + 1
Run Code Online (Sandbox Code Playgroud)

因此该命令my_class.crunch_all()应该new_value为所有现有实例添加新属性.我猜我将不得不使用@staticmethod它来使它成为一个"全局"功能.

我知道我可以通过添加类似my_class.instances.append(number)的内容__init__然后循环来跟踪正在定义的实例my_class.instances,但到目前为止我也没有运气.另外,我想知道是否存在更通用的东西.这甚至可能吗?

python class

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

如何计算Pandas中列的成对相关的p值?

Pandas具有非常方便的功能,可以使用pd.corr()对列进行成对关联。这意味着可以比较任何长度的列之间的相关性。例如:

df = pd.DataFrame(np.random.randint(0,100,size=(100, 10)))

     0   1   2   3   4   5   6   7   8   9
0    9  17  55  32   7  97  61  47  48  46
1    8  83  87  56  17  96  81   8  87   0
2   60  29   8  68  56  63  81   5  24  52
3   42  76   6  75   7  59  19  17   3  63
...
Run Code Online (Sandbox Code Playgroud)

现在可以使用以下命令测试所有10列之间的相关性df.corr(method='pearson')

      0         1         2         3         4         5         6         7         8         9
0  1.000000  0.082789 -0.094096 -0.086091 …
Run Code Online (Sandbox Code Playgroud)

python correlation dataframe pandas

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

使用 MultiIndex 在 Pandas DataFrame 中有条件地选择行

我有一个像这样的数据帧:

df = pd.DataFrame(np.random.randn(6, 6),
                  columns=pd.MultiIndex.from_arrays((['A','A','A','B','B','B'], 
                                                     ['a', 'b', 'c', 'a', 'b', 'c'])))
df
          A                             B                    
          a         b         c         a         b         c
0 -0.089902 -2.235642  0.282761  0.725579  1.266029 -0.354892
1 -1.753303  1.092057  0.484323  1.789094 -0.316307  0.416002
2 -0.409028 -0.920366 -0.396802 -0.569926 -0.538649 -0.844967
3  1.789569 -0.935632  0.004476 -1.873532 -1.136138 -0.867943
4  0.244112  0.298361 -1.607257 -0.181820  0.577446  0.556841
5  0.903908 -1.379358  0.361620  1.290646 -0.523404 -0.518992
Run Code Online (Sandbox Code Playgroud)

我只想选择列中值大于 0 的行c。我想我将不得不使用pd.IndexSlice仅选择二级索引c

idx = pd.IndexSlice
df.loc[:,idx[:,['c']]] > 0
       A      B …
Run Code Online (Sandbox Code Playgroud)

python multi-index pandas

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

如何填充可为空的整数列并将其转换为 Postgresql 中的串行主键?

我的表包含一个gid可以为空的整数列 ( ):

 gid | value
-------------
  0  |   a
     |   b
  1  |   c
  2  |   d
     |   e
Run Code Online (Sandbox Code Playgroud)

现在我想将该gid列更改SERIAL为主键列。这意味着用新整数填充空槽。现有的整数必须保持原位。所以结果应该是这样的:

 gid | value
-------------
  0  |   a
  3  |   b
  1  |   c
  2  |   d
  4  |   e
Run Code Online (Sandbox Code Playgroud)

我只是想不出正确的 SQL 命令来进行转换。代码示例将不胜感激...

postgresql primary-key

0
推荐指数
1
解决办法
230
查看次数