小编add*_*ons的帖子

Python密钥存在:Key是整数和字符串的元组

我有一个python字典,我建立了它的键是一个元组,值列在列表中.元组包含整数和字符串.这里最好的描述是一个简单的例子:

>>> x = {(1, 'test'): ['marry', 'tom']}
Run Code Online (Sandbox Code Playgroud)

我想构建一个逻辑,如果字典键中元组的第一个元素存在我的逻辑:

所以我试着跟随:

>>> if 1 in x:
...     print x
... 
Run Code Online (Sandbox Code Playgroud)

它不起作用.

但后来我做了以下测试,如果在函数工作时键不是一个元组,它确实:

>>> y = {}
>>> y[1] = []
>>> y[1].append("tom")
>>> if 1 in y:
...     print y
... 
{1: ['tom']}
Run Code Online (Sandbox Code Playgroud)

如果密钥恰好是元组的第一个元素,如何检查密钥是否存在于字典中.

python dictionary tuples

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

django根据where子句获取列的总和

我已经阅读了与django聚合相关的文档,但我仍然无法弄清楚我是如何获得每个用户的点数总和的.

这是我尝试过的:

ModelName.objects.filter(username=rUser.username).aggregate(Sum('points'))
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Request Method: GET
Request URL:    http://localhost:8001/mypage/
Django Version: 1.4.8
Exception Type: NameError
Exception Value:    
global name 'Sum' is not defined
Run Code Online (Sandbox Code Playgroud)

python django django-queryset

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

评估清单:AvgP @ K和R @ K是否相同?

我的目标是了解平均值Precision at K,和Recall at K.我有两个列表,一个是预测的,另一个是实际的(基本事实)

我们可以将这两个列表称为预测和实际.现在我想做precision@krecall@k.

使用python我在K处实现了Avg精度,如下所示:

def apk(actual, predicted, k=10):
    """
    Computes the average precision at k.

    This function computes the average precision at k between two lists of items.

    Parameters
    ----------
    actual: list
            A list of elements that are to be predicted (order doesn't matter)
    predicted : list
            A list of predicted elements (order does matter)
    k: int, optional

    Returns
    -------
    score : double
            The average precision at k over …
Run Code Online (Sandbox Code Playgroud)

python algorithm machine-learning precision-recall

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

pandas group by并分配一个组ID然后取消组合

我有一个大型数据集,格式如下:

id, socialmedia
1, facebook
2, facebook
3, google
4, google
5, google
6, twitter
7, google
8, twitter
9, snapchat
10, twitter
11, facebook
Run Code Online (Sandbox Code Playgroud)

我想在那时进行分组并分配一个group_id列然后取消组合(展开)回到单个记录.

id, socialmedia, groupId
1, facebook, 1
2, facebook, 1
3, google, 2
4, google, 2
5, google, 2
6, twitter, 3
7, google, 2
8, twitter, 3
9, snapchat, 4
10, twitter, 3
11, facebook, 1
Run Code Online (Sandbox Code Playgroud)

我尝试了以下但最终使用'DataFrameGroupBy'对象不支持项目分配.

x['grpId'] = x.groupby('socialmedia')['socialmedia'].rank(method='dense').astype(int)
Run Code Online (Sandbox Code Playgroud)

python pandas pandas-groupby

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

根据列数据生成"组"列

我是R的新手,我正在尝试根据列中的数据引入一个组列.

data.frame的示例

1           11.3178501            4    9        11.618880
2           10.3969713           20    8        11.047486
8            9.5067421           14    7        10.079806
6            6.6135932            6    6         7.002669
4            5.4157174            2    5         5.566232
17           3.8860793            5    4         4.235564
16           3.8183699           15    3         4.406416
11           1.2574765           18    2         1.885113
15           0.7084411            7    1         1.130990
Run Code Online (Sandbox Code Playgroud)

第一列是R引入的索引,但我排序所以顺序不同,我要做的是引入一个列,根据最后一列值定义每行所属的括号.因此,如果最后一列值介于0-5 => 1, 5-0 => 2等,那么我们在最后添加一个新列group -> 1,2,3...

16           3.8183699           15    3         4.406416    1
11           1.2574765           18    2         1.885113    2
15           0.7084411            7    1         1.130990    2
Run Code Online (Sandbox Code Playgroud)

我尝试了以下dataFrame$column4 < 5 …

r categories

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

Python:余弦相似度 m * n 矩阵

我有两个 MXN 矩阵,它们是在从图像中提取数据后构建的。两个向量都有很长的第一行,在第三行之后它们都变成了第一列。例如原始向量看起来像这样

1,23,2,5,6,2,2,6,2,
12,4,5,5,
1,2,4,
1,
2,
2
:
Run Code Online (Sandbox Code Playgroud)

两个向量都有一个相似的模式,其中前三行有很长的行,然后随着它的进展而变细。做余弦相似度我想使用填充技术来添加零并使这两个向量 NX N。我查看了余弦相似度的 Python 选项,但一些示例使用了包调用 numpy。我无法弄清楚 numpy 究竟如何进行这种类型的填充并执行余弦相似度。任何指导将不胜感激。

python numpy vector cosine-similarity

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

R可变长度在构建残差线性模型时不同

我正在研究一个问题,我想用其他两个线性模型的残差来构建线性模型.我使用UN3数据集来显示我的问题,因为这里的问题比使用我的实际数据集容易.

这是我的R代码:

head(UN3)
m1.lgFert.purban <- lm(log(Fertility) ~ Purban, data=UN3)
m2.lgPPgdp.purban <- lm(log(PPgdp) ~ Purban,  data=UN3)
m3 <- lm(residuals(m1.lgFert.purban) ~ residuals(m2.lgPPgdp.purban))
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

> m3 <- lm(residuals(m1.lgFert.purban) ~ residuals(m2.lgPPgdp.purban))
Error in model.frame.default(formula = residuals(m1.lgFert.purban) ~ residuals(m2.lgPPgdp.purban),  : 
  variable lengths differ (found for 'residuals(m2.lgPPgdp.purban)')
Run Code Online (Sandbox Code Playgroud)

我真的不明白为什么会发生这个错误.如果它是与日志相关的问题,那么当我构建前两个模型时,我应该得到错误.

r linear-regression lm

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

在Lion上安装Scrapy - libxml/xmlversion.h不可用

我使用家酿和安装python与$ brew install python --framework 然后我安装easy_install安装点,

之后,如Scrapy网站所说,我使用pip install来安装Scrapy,但看起来XCode缺少一些libxml文件.

In file included from src/lxml/lxml.etree.c:314:

/private/var/folders/h6/xl6c12wn67n_9j7jl60b_j843908_z/T/pip-build-auduwage/lxml/src/lxml/includes/etree_defs.h:9:10: fatal error: 'libxml/xmlversion.h' file not found

#include "libxml/xmlversion.h"

         ^

1 error generated.

error: command '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)

python scrapy osx-lion

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

awk:删除重复项并创建一个新的csv文件

我有以下CSV文件:

1393036,293296,68,59,Mithridates,ny,io
10155431,14595886,1807,135860,Riemogerz,ny,id
10767895,5749707,2402,1716,Nickispeaki,ny,uk
1536088,6390442,1301,109160,Ds02006,ny,ru
353,291765,434,434,Lar,ny,en,en-N
19332,7401441,296,352647,WikiDreamer,ny,fr
7142,7221255,298,78928,WikiDreamer Bot,ny,fi
417258,1507888,409,7709,Dmitri Lytov,ny,ru
7198454,15101351,5604,853415,Ffffnm,cdo,zh
1536088,6390442,1301,109160,Ds02006,ny,ru
353,291765,434,434,Lar,ny,en
Run Code Online (Sandbox Code Playgroud)

我想根据第一列的值删除重复项。如果有多个相同值的记录,我只想在新文件中保留一个:

我从以下开始,它实际上是找到重复项,但我想创建一个新文件,而不仅仅是打印:

sort input.csv | awk 'NR == 1 {p=$1; next} p == $1 { print $1 " is duplicated"} {p=$1}' FS=","
Run Code Online (Sandbox Code Playgroud)

csv bash awk

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

熊猫获得除行以外所有列均为空的行的更好方法

我有一个包含100列的数据框,其中第一列是唯一标识符,第二列是它们所属的组,其余列说明每个用户的特征。

user_id, group_id, a, b, c,....,az
0001, 1, 23, pro, 5.5, ......, 234
0002, 1, 32, che, 3.3, ......, 342
0003, 2, NaN, NaN, NaN,......., NaN
Run Code Online (Sandbox Code Playgroud)

我想所有的子集有记录NaN(S)的所有列,除了第1列和第2列(user_idgroup_id

一种方法是: df[df['a'].notnull() & (df['b'].notnull()) & (df['c'].notnull())]但是像这样编写98列似乎是不够的。有没有更好的办法?

python pandas

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