我有一个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)
如果密钥恰好是元组的第一个元素,如何检查密钥是否存在于字典中.
我已经阅读了与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) 我的目标是了解平均值Precision at K,和Recall at K.我有两个列表,一个是预测的,另一个是实际的(基本事实)
我们可以将这两个列表称为预测和实际.现在我想做precision@k和recall@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) 我有一个大型数据集,格式如下:
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) 我是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 …
我有两个 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 究竟如何进行这种类型的填充并执行余弦相似度。任何指导将不胜感激。
我正在研究一个问题,我想用其他两个线性模型的残差来构建线性模型.我使用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)
我真的不明白为什么会发生这个错误.如果它是与日志相关的问题,那么当我构建前两个模型时,我应该得到错误.
我使用家酿和安装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) 我有以下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) 我有一个包含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_id,group_id)
一种方法是:
df[df['a'].notnull() & (df['b'].notnull()) & (df['c'].notnull())]但是像这样编写98列似乎是不够的。有没有更好的办法?