小编ane*_*kix的帖子

python csv到字典使用csv或pandas模块

我正在使用 Pythoncsv.DictReader从 CSV 文件中读取值以创建一个字典,其中键是 CSV 中的第一行或标题,其他行是值。它按预期完美运行,我可以获得字典,但我只希望某些键在字典中,而不是所有列值。做这个的最好方式是什么?我试过使用,csv.reader但我认为它没有这个功能。也许这可以使用熊猫来实现?

这是我在 CSV 模块中使用的代码,其中Fieldnames我想在字典中保留的键。我意识到它不适用于我上面描述的内容。

import csv
with open(target_path+target_file) as csvfile:
    reader = csv.DictReader(csvfile,fieldnames=Fieldnames)
    for i in reader:
        print i
Run Code Online (Sandbox Code Playgroud)

python python-2.7 pandas

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

在python中使用带嵌套字典的计数器

我在python中有一个dicts列表,如下所示:

[
  {
    "25-34": {
      "Clicks": 10
    },
    "45-54": {
      "Clicks": 2
    },

  },
  {
    "25-34": {
      "Clicks": 20
    },
    "45-54": {
      "Clicks": 10
    },

  }   
]
Run Code Online (Sandbox Code Playgroud)

如何获得列表的每个字典中的键的总和,以便我有:

{
    "25-34": {
        "Clicks": 30
    },
    "45-54": {
        "Clicks": 12
    },

}
Run Code Online (Sandbox Code Playgroud)

我尝试使用Counter()但是当dicts内部列表是平的时它很容易工作,但是如上面的嵌套dicts它给出了这个错误:

    /usr/lib/python2.7/collections.pyc in update(self, iterable, **kwds)
        524                     self_get = self.get
        525                     for elem, count in iterable.iteritems():
    --> 526                         self[elem] = self_get(elem, 0) + count
        527                 else:
        528                     super(Counter, self).update(iterable) # fast path when counter is empty …
Run Code Online (Sandbox Code Playgroud)

python

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

在python中实现观察者模式的替代方法

我正想通过后有关如何观察者模式可以在Python中实现.在同一篇文章中有这些评论.

1)在python中你也可以只使用普通函数,"观察者"类并不是真正需要的.

2)这是Java程序员在切换到Python后尝试做的很好的例子 - 他们觉得Python缺少所有垃圾并尝试"移植"它.

这些注释暗示观察者模式在python中并不真正有用,并且存在其他方法来实现相同的效果.这是真的,如果能做到这一点?

这是观察者模式的代码:

class Observable(object):

    def __init__(self):
        self.observers = []

    def register(self, observer):
        if not observer in self.observers:
            self.observers.append(observer)

    def unregister(self, observer):
        if observer in self.observers:
            self.observers.remove(observer)

    def unregister_all(self):
        if self.observers:
            del self.observers[:]

    def update_observers(self, *args, **kwargs):
        for observer in self.observers:
            observer.update(*args, **kwargs)

from abc import ABCMeta, abstractmethod

class Observer(object):
    __metaclass__ = ABCMeta

    @abstractmethod
    def update(self, *args, **kwargs):
        pass

class AmericanStockMarket(Observer):
    def update(self, *args, **kwargs):
        print("American stock market received: {0}\n{1}".format(args, kwargs))

class EuropeanStockMarket(Observer):
    def …
Run Code Online (Sandbox Code Playgroud)

python first-class-functions observer-pattern

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

gdb 如何读取正在调试的程序/进程的寄存器值?寄存器如何与进程关联?

我用 C++ 写了一个简短的程序:

#include<iostream>
using namespace std;

    int main(){
    int x=10;
    int y=20;
    cout<< x+y <<endl;
    return 0;
    }
Run Code Online (Sandbox Code Playgroud)

只是出于好奇,我想了解幕后的程序,所以我正在使用 gdb 并遇到info registers命令。当我使用info registersin时gdb,我得到如下输出:

(gdb) info registers
rax            0x400756 4196182
rbx            0x0  0
rcx            0x6  6
rdx            0x7fffffffd418   140737488344088
rsi            0x7fffffffd408   140737488344072
rdi            0x1  1
rbp            0x7fffffffd320   0x7fffffffd320
rsp            0x7fffffffd320   0x7fffffffd320
r8             0x7ffff7ac1e80   140737348640384
r9             0x7ffff7dcfea0   140737351843488
r10            0x7fffffffd080   140737488343168
r11            0x7ffff773a410   140737344939024
r12            0x400660 4195936
r13            0x7fffffffd400   140737488344064
r14            0x0  0
r15            0x0 …
Run Code Online (Sandbox Code Playgroud)

c++ debugging assembly operating-system cpu-registers

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

画布图像旋转不居中

我想在画布上围绕其中心旋转图像。

预期:图像在其中心旋转

当前结果:图像旋转一圈

代码包含:

  1. 创建精灵并返回它的精灵类。
  2. 用于更新精灵位置的动画循环。

我尝试调整绘制图像方法参数,但旋转未居中。它似乎在它的角落旋转。怎么了?

var c = document.getElementById("myCanvas");

function sprite(options) {
  var that = {};
  that.context = options.context;
  that.width = options.width;
  that.height = options.height;
  that.image = options.image;

  that.x = options.x;
  that.y = options.y;
  that.angle = 0;

  that.render = function() {
    that.context.clearRect(that.x, that.y, that.width, that.height);

    that.context.save();
    that.context.translate(that.x + that.width / 2, that.y + that.height / 2);
    that.context.rotate(that.angle * Math.PI / 180);
    //---------------------->?? this is not working properly here.
    that.context.drawImage(
      that.image,
      0,
      0,
    );

    that.context.restore();

  };


  return …
Run Code Online (Sandbox Code Playgroud)

html javascript html5-canvas

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

python pip安装失败

我正在尝试pynput使用 sudo pip install pynput安装库

但我收到此错误日志.任何其他python包都会发生这种情况.一切以前工作正常突然出现这些错误我试图从中复制错误日志

〜/将该.pip/pip.log

这就是我所拥有的:

 Using version 1.4 (newest of versions: 1.4, 1.3.10, 1.3.9, 1.3.8.1, 1.3.7, 1.3.6, 1.3.5, 1.3.4, 1.3.3, 1.3.2, 1.3.1, 1.3, 1.2, 1.1.7, 1.1.6, 1.1.5, 1.1.4, 1.1.3, 1.1.2, 1.1.1, 1.1, 1.0.6, 1.0.5, 1.0.4, 1.0.3, 1.0.2, 1.0.1, 1.0, 0.6, 0.5.1, 0.5, 0.4, 0.3, 0.2)
Cleaning up...
  Removing temporary dir /tmp/pip_build_root...
Exception:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main
    status = self.run(options, args)
  File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 278, in run
    requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, …
Run Code Online (Sandbox Code Playgroud)

python pip ubuntu-14.04

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

Inavlid 反应本机权限 ios.PERMISSION.CAMERA

我正在使用react-native-qr-code-scanner在我的应用程序中添加 QR 扫描仪功能。我遵循了所有的 instaruction 并且在 android 上一切正常,但是当我在 ios 上构建我的应用程序时,应用程序无法找到该RNPermissions库,因此我按照自述文件中的建议手动链接它。链接错误现在消失了,我得到了 Invali RMPermission ios.PERMISSION.CAMERA should be one of()。该错误在react-native-permissions README PAGE的 github 页面和解决它的步骤中有所描述。它说

检查您是否链接了至少一个权限处理程序。

我无法将那里描述的权限处理程序添加到 Podfile,因为它会React(0.11.0)自动安装版本(但这不是必需的),因为我已经有了最新的反应。解决这个问题的方法是什么?

[!]

pod install添加后运行时

  permissions_path = '../node_modules/react-native-permissions/ios'
  pod 'Permission-Camera', :path => "#{permissions_path}/Camera.podspec"
Run Code Online (Sandbox Code Playgroud)

我明白了

Unable to find a specification for `RNPermissions` depended upon by `Permission-Camera`

You have either:
 * out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
 * mistyped the name or …
Run Code Online (Sandbox Code Playgroud)

react-native react-native-ios react-native-permissions

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

C++线程竞争条件模拟

这是一个C++程序,它运行10时间与5不同的线程,每个线程递增value,counter所以最终输出应该是500,这正是程序提供输出.但我不明白为什么500每次输出都应该不同,因为增量操作不是atomic,并且没有使用锁,所以程序应该在每种情况下给出不同的输出.

编辑以增加竞争条件的概率我增加了循环计数但仍然看不到任何变化的输出

#include <iostream>
#include <thread>
#include <vector>

struct Counter {
    int value;

    Counter() : value(0){}

    void increment(){
        value = value + 1000;
    }
};

int main(){
    int n = 50000;
    while(n--){
    Counter counter;

    std::vector<std::thread> threads;
    for(int i = 0; i < 5; ++i){
        threads.push_back(std::thread([&counter](){
            for(int i = 0; i < 1000; ++i){
                counter.increment();
            }
        }));
    }

    for(auto& thread : threads){
        thread.join();
    }

    std::cout << counter.value …
Run Code Online (Sandbox Code Playgroud)

c++ multithreading mutex

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

其他聚合结果上的 elasticsearch min 和 max aggs

我试图在 elasticsearch 中找到聚合结果的最小值和最大值。什么查询将允许它首先按字段聚合,然后执行每月子聚合以获取该字段的每月数据,然后在这些每月计算的指标中找到最小值和最大值。我一直在寻找minmax。对于下面的其余要求是我的查询

这个问题可以表述为:任何国家的最大和最小交易(考虑所有月份)是多少? 这是我尝试过的查询:

{
  "query": {
    "bool": {
      "must": [
        {
          "term": {
            "Id": "7466swy7893jgs225"
          }
        }
      ]
    }
  },
  "aggs": {
    "dimension": {
      "terms": {
        "field": "country"
      },
      "aggs": {
        "MoM": {
          "date_histogram": {
            "field": "date",
            "interval": "month",
            "format": "MMM YY"
          },
          "aggs": {
            "totalValue": {
              "sum": {
                "field": "Transactions"
              }
            }
          }
        }
      }
    }
  },
  "size": 0
Run Code Online (Sandbox Code Playgroud)

}

这是我得到的输出:

   {
    "aggregations": {
    "dimension": {
    "doc_count_error_upper_bound": 0,
    "sum_other_doc_count": 0,
    "buckets": …
Run Code Online (Sandbox Code Playgroud)

elasticsearch

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

多边形三角测量反射顶点

嗨,我正在尝试执行多边形三角剖分。我了解简单多边形( Concave 或 Convex )的剪耳方法。我一直在寻找顶点是否是反射。我在多个地方读到的是关于顺时针和逆时针方向的内容,我无法理解。简而言之,这些方向指的是什么,请给我一些关于检查顶点是否反射的提示。 这是我正在关注的一篇文章的链接:

这是他们使用的公式:

  // Input
    VECTOR a, b, c; // the parts of our triangle.
    // if (b.x - a.x) * (c.y - b.y) - (c.x - b.x) * (b.y - a.y) > 0
    // we are counter-clockwise
Run Code Online (Sandbox Code Playgroud)

我无法理解这里有什么意义。

triangulation computational-geometry

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