小编Ida*_*zit的帖子

Pandas列值到列?

我已经看到了将一个列/系列爆炸成Pandas数据帧的多个列的主题的一些变化,但我一直在尝试做一些事情而不是真正成功地使用现有的方法.

给定一个像这样的DataFrame:

    key       val
id
2   foo   oranges
2   bar   bananas
2   baz    apples
3   foo    grapes
3   bar     kiwis
Run Code Online (Sandbox Code Playgroud)

我想将key系列中的项目转换为列,并将val值作为值,如下所示:

        foo        bar        baz
id
2   oranges    bananas     apples
3    grapes      kiwis        NaN
Run Code Online (Sandbox Code Playgroud)

我觉得这应该是相对简单的事情,但是我现在一直在抨击我的头几个小时,随着卷积水平的提高,并没有成功.

python pandas

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

以RESTful方式递增资源计数器:PUT与POST

我有一个有计数器的资源.为了举例,让我们调用资源配置文件,计数器是该配置文件的视图数.

根据REST维基,PUT请求应该用于资源创建或修改,并且应该是幂等的.如果我正在更新配置文件的名称,那么这种组合很好,因为我可以发出一个PUT请求,将名称设置为1000次,结果不会改变.

对于这些标准PUT请求,我有浏览器做类似的事情:

PUT /profiles/123?property=value&property2=value2
Run Code Online (Sandbox Code Playgroud)

对于递增计数器,可以像这样调用url:

PUT /profiles/123/?counter=views
Run Code Online (Sandbox Code Playgroud)

每次调用都会导致计数器递增.从技术上讲,这是一个更新操作,但它违反了幂等性.

我正在寻找指导/最佳实践.你刚才这样做了吗?

rest http http-verbs

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

数学与插值变量?

考虑以下sass:

$font-size: 18;                 
$em: $font-size;

$column: $font-size * 3;        // The column-width of my grid in pixels
$gutter: $font-size * 1;        // The gutter-width of my grid in pixels

$gutter-em: #{$gutter / $em}em; // The gutter-width in ems.
$column-em: #{$column / $em}em; // The column-width in ems;

$foo = $gutter-em / 2; // This results in a value like "1em/2". :(
$bar = ($gutter-em / 2); // this doesn't work either, same as above.
Run Code Online (Sandbox Code Playgroud)

我如何生成一个$foo有效的,并且我可以在其他表达式中进一步重用?

sass

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

最佳实践:加载渲染的html或json?

嘿伙计们,我有一个感觉很愚蠢的问题,但我不能说出原因.

背景:

想象一下带有用户和标签的webapp.用户互相标记.

我在应用程序中有一个页面,显示与单个用户相关的单个标签的详细信息.让我们说用户' bob '并标记' footag '.在这个页面上,我显示了两个列表:所有使用'footag'标记bob并且所有人bob都标记为'footag'的人.让我们称呼这些<div id="received'><div id="sent">

让我们说这个观点的网址是 /users/bob/tags/footag

当然,这些列表很长 - 我不想在浏览页面上加载整个列表.所以我为每个加载前十个.

这个问题

现在,我可以通过以下两种方式之一为每个列表提供动态分页:

  1. 以json的形式获取下10个用户的数据.写js来渲染这个数据,替换.的内容div.
  2. 比如,从我服务器上另一个定义良好的URL获取html的"片段" /users/bob/tags/footag/received?page=1.我异步获取它只是替换相关的内容<div>.

因此,在一种情况下,我在浏览器中通过JS获取数据并进行渲染,另一种情况是我获取渲染数据并将其批量整理到文档中.

有没有理由不使用#2?我无法想象一个,但我想可能存在我不考虑的安全方面,或性能,或其他.我更喜欢做#2,因为它大大简化了我的生活.

谢谢!

html ajax json

16
推荐指数
1
解决办法
2804
查看次数

从内部回调中访问对象文字属性(异步方法)

我正在编写一个chrome扩展,需要与书签子树进行交互.这个子树有很多交互,所以我把这个逻辑抽象成一个对象文字,就像这样:

var contextStore = {
    'root_id': undefined,
    'setup': function() {...},      // populates root_id
    'add': function(name) {...},    // uses root_id
    'remove': function(name) {...}, // uses root_id
    // ... etc ...
};

contextStore.setup(); // only once.
contextStore.add("foo");
contextStore.add("bar");
// ... etc
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.

我遇到的麻烦是由异步Chrome API(以及我缺少JS-fu)引起的.以机智:

var contextStore = {
    'root_id': undefined,
    'setup': function() {
        chrome.bookmarks.getTree(function(tree) {
           // do some work to find a given folder in bookmarks.
           // now I want to save that folder's id for access in other methods.

           // Fail: …
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome-extension

8
推荐指数
1
解决办法
2422
查看次数

多个WMD编辑器(SO分叉版)在一个页面上?

要清楚,我指的是stackoverflow的分叉WMD的使用,而不是来自attacklab原始版本.

我想使用分叉版本,但似乎脚本用来识别WMDify页面元素的div id是硬编码的wmd.js:66:

// A collection of the important regions on the page.
// Cached so we don't have to keep traversing the DOM.
wmd.PanelCollection = function(){
    this.buttonBar = doc.getElementById("wmd-button-bar");
    this.preview = doc.getElementById("wmd-preview");
    this.output = doc.getElementById("wmd-output");
    this.input = doc.getElementById("wmd-input");
};
Run Code Online (Sandbox Code Playgroud)

如果我只想使用不同的区域名称,我自己就可以了 - 但我想在一个页面上使用可变数量的WMD编辑器.我需要一种方法来告诉每个WMD实例它应该影响的页面区域,但是我没有看到任何"钩子".

看不见可能是我几乎完全缺乏js知识的产物.Right Thing To Do™是为了正确学习javascript,但我正处于一个截止日期的项目中.我真的很想使用这个版本的WMD,但是我需要一些关于如何修改WMD脚本的线索,或者只是一个如何以一种我可以指定使用哪个div id的方式调用它的例子.

线索赞赏!

javascript wmd

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

如何使用getattr/setattr在运行时增加属性?

我有一个有十个不同柜台的班级.我需要在运行时递增这些中的一个或另一个,并且递增方法被告知要递增的计数器的名称.

我想知道是否有比这更简洁的方法:

def increment(self, name):
    """Increments a counter specified by the 'name' argument."""
    setattr(self, name, getattr(self, name) + 1)
Run Code Online (Sandbox Code Playgroud)
  • 我对种族状况等并不十分担心.
  • 不,你不能改变调用函数的方式.显然,真实代码比示例稍微简单一些.

python

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

熊猫按组汇总排序

我已经看到了这个问题,但是所需的结果与我的略有不同。

想象一下这样分组的数据框:

df.groupby(['product_name', 'usage_type']).total_cost.sum()

product_name   usage_type
Lorem          A               30.694665
               B                0.000634
               C                1.659360
               D                0.000031
               E             3339.140042
               F                0.074340
Ipsum          G                9.627360
               A               19.053377
               D               14.492155
Dolor          B                9.698245
               H             6993.792163
               C            31947.955679
               D             2150.400001
               E               26.337789
Name: total_cost, dtype: float6
Run Code Online (Sandbox Code Playgroud)

我想要的输出是相同的结构,但是具有两个属性:

  1. 按费用总和订购产品名称
  2. 按字典顺序订购用法类型(替代方法:按降序订购)

这样,成本最高的产品将首先出现,但仍保留故障。

如果要简单得多,则可以按使用类型删除次级排序。

python sorting numpy pandas

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

带有参数化数据类型的Pandas to_sql,如NUMERIC(10,2)

Pandas有一种很好的to_sql方法可以将数据帧写入SQLAlchemy支持的任何RDBMS.

假设我有一个生成的数据帧:

df = pd.DataFrame([-1.04, 0.70, 0.11, -0.43, 1.0], columns=['value'])
Run Code Online (Sandbox Code Playgroud)

如果我尝试将其写入数据库而没有任何特殊行为,我会得到一个双精度的列类型:

df.to_sql('foo_test', an_engine)
Run Code Online (Sandbox Code Playgroud)

如果我想要一个不同的数据类型,我可以指定它(这很好):

df.to_sql('foo_test', an_engine, dtype={'value': sqlalchemy.types.NUMERIC})
Run Code Online (Sandbox Code Playgroud)

但是,如果我想设置列的精度和比例NUMERIC,它会在我脸上爆炸:

df.to_sql('foo_test', an_engine, dtype={'value': sqlalchemy.types.NUMERIC(10,2)})


---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-77-dc008463fbfc> in <module>()
      1 df = pd.DataFrame([-1.04, 0.70, 0.11, -0.43, 1.0], columns=['value'])
----> 2 df.to_sql('foo_test', cosd_engine, dtype={'value': sqlalchemy.types.NUMERIC(10,2)})

/Users/igazit/.virtualenvs/myproject/lib/python2.7/site-packages/pandas/core/generic.pyc in to_sql(self, name, con, flavor, schema, if_exists, index, index_label, chunksize, dtype)
    964             self, name, con, flavor=flavor, schema=schema, if_exists=if_exists,
    965             index=index, index_label=index_label, chunksize=chunksize,
--> 966             dtype=dtype) …
Run Code Online (Sandbox Code Playgroud)

python postgresql sqlalchemy pandas

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

Javascript对象文字不允许引用现有值?

我有一个对象,由此定义:

var obj = {
    'title': 'foo',
    'id': '123',
    'category': 'aaa',
    'meta': 'blah blah'
};
Run Code Online (Sandbox Code Playgroud)

我想把它分配,然而,我在JS中发现了一些我不明白的行为:

var foo = {obj.title: obj.id}; // doesn't work
var bar = {obj['title']: obj['id']}; // this doesn't either

var baz = {}
baz[obj.title] = obj.id // this works fine.
Run Code Online (Sandbox Code Playgroud)

为什么?

javascript

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