基本上我有这样的模型:
class Playlist(models.Model):
key = models.CharField(max_length=255,blank=True, unique=True)
user = models.ForeignKey(User)
title = models.CharField(max_length=200)
pub_date = models.DateTimeField(auto_now_add=True)
videos = models.ManyToManyField(Video, through='PlaylistVideo')
class PlaylistVideo(models.Model):
playlist = models.ForeignKey(Playlist)
video = models.ForeignKey(Video)
position = models.IntegerField()
class Video(models.Model):
title = models.CharField(max_length=255,blank=True)
description = models.TextField(blank=True)
thumb = models.URLField(blank=True)
duration = models.IntegerField(default=0)
Run Code Online (Sandbox Code Playgroud)
现在我想要一个API来返回这样的PLAYLISTS ...但是视频应该按PlaylistVideo模型中的POSITION排序
{
"key": "h8x3",
"title": "First Playlist",
"pub_date": "2012-10-11T17:00:26Z",
"videos": [
{
....
},
{
....
}
]
},
Run Code Online (Sandbox Code Playgroud)
我该怎么办呢?
我目前正在寻找不大于墨西哥城市规模的地图文件(最大,经度约为3度/纬度).但是,在尝试这样做时,我一直遇到内存问题(至少).OSM XML对象的文件大小为1.9 GB,以供参考.
library(osmar)
get.map.for.municipality<-function(province,municipality){
base.map.filename = 'OpenStreetMap/mexico-latest.osm'
#bounds.list is a list that contains the boundaries
bounds = bounds.list[[paste0(province,'*',municipality)]]
my.bbox = corner_bbox(bounds[1],bounds[2],bounds[3],bounds[4])
my.map.source = osmsource_file(base.map.filename)
my.map = get_osm(my.bbox,my.map.source)
return(my.map)
}
Run Code Online (Sandbox Code Playgroud)
我在循环中运行它,但它甚至无法通过第一个循环.当我尝试运行它时,我的计算机冻结了,我只能用手机截取屏幕截图.记忆在几分钟内稳定地倾斜,然后它很快就快速上升,在计算机冻结之前我无法做出反应.
这样做的更好方法是什么?我希望必须运行这个循环大约100-150次,所以任何在内存方面更有效的方法都会有所帮助.我不想从API服务下载较小的文件.如果有必要,我愿意使用另一种编程语言(最好是Python或C++),但我更喜欢将它保存在R.

我想计算数据帧每一行的分位数,并将结果作为矩阵返回.因为我想计算和任意数量的分位数(我想,一次计算它们的速度更快,而不是重新运行该函数),我尝试使用我在这个问题中找到的公式:
library(dplyr)
df<- as.data.frame(matrix(rbinom(1000,10,0.5),nrow = 2))
interim_res <- df %>%
rowwise() %>%
do(out = sapply(min(df):max(df), function(i) sum(i==.)))
interim_res <- interim_res[[1]] %>% do.call(rbind,.) %>% as.data.frame(.)
Run Code Online (Sandbox Code Playgroud)
这是有道理的,但是当我尝试将相同的框架应用于quantile()函数时,如此处编码,
interim_res <- df %>%
rowwise() %>%
do(out = quantile(.,probs = c(0.1,0.5,0.9)))
interim_res <- interim_res[[1]] %>% do.call(rbind,.) %>% as.data.frame(.)
Run Code Online (Sandbox Code Playgroud)
我收到此错误消息:
sort.int中的错误(x,na.last = na.last,减少=减少,...):
'x'必须是原子的
为什么我会收到错误quantile而不是sum?我该如何解决这个问题?
我有一个自定义用户模型,如下所示 account/models.py
from django.contrib.auth.modles import AbstractUser
from django.db.models.signals import post_save
from rest_framework.authtoken.models import Token
from django.db import models
from django.dispatch import receiver
from django.conf import settings
@receiver(post_save, sender=settings.AUTH_USER_MODEL)
def create_auth_token(sender, instance=None, created=False, **kwargs):
if created:
Token.objects.create(user=instance)
class UserProfile(AbstractUser):
gender = models.CharField(max_length=1,default='')
Run Code Online (Sandbox Code Playgroud)
并在 settings.py
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
)
}
Run Code Online (Sandbox Code Playgroud)
...
AUTH_USER_MODEL = "account.UserProfile"
Run Code Online (Sandbox Code Playgroud)
但是,每当我尝试登录可浏览的 API 时,它都会要求我使用正确的用户名和密码,并且我使用的是标记为超级用户和员工的用户凭据。
该manage.py runserver控制台显示这条消息:
[27/Jul/2016 20:41:39] "POST /api-auth/login/ HTTP/1.1" 200 2897
Run Code Online (Sandbox Code Playgroud) 我有很多文本体,对于每个文本体,我想提取所有一元组、二元组和三元组(单词,而不是字符),并将计数和 ngram 长度插入到另一个表中。
现在我正在考虑使用WITH ORDINALITY取消嵌套正则表达式分割的文本正文,然后对二元组和三元组使用多个子查询,但这需要 ordering 。但是,我认为这可能是一种低效的方法,因为这种位置数据通常应该通过索引访问。
我目前正在用Python实现这个,一个巨大的瓶颈是字典插入和字典/集合的停用词搜索。
这是一个非常基本的例子:
输入:
This is a small, small sentence.
输出
ngram | count | length
-------------------------------------
this | 1 | 1
is | 1 | 1
a | 1 | 1
small | 2 | 1
sentence | 1 | 1
this is | 1 | 2
is a | 1 | 2
a small | 1 | 2
small small | 1 | 2
small sentence | 1 | 2
this is …Run Code Online (Sandbox Code Playgroud) 我有一个数据集,其中一个变量是一个带有十六进制字符的因式数组(例如'#00FF00').我想要尝试做的事情之一是创建一个条形图,其中包含所有不同的颜色.
我试过用
cg<-ggplot(my.data,aes(x=factor(1),fill=as.character(my.color)))
其次是
cg+geom_bar()
但绘制的唯一颜色似乎是默认比例的颜色.我试过省略代码的as.character()部分,但它没有什么区别.使用geom_point()制作2d图时,我也遇到了同样的问题.
如果我尝试类似的东西
plot(my.data$var1,my.data$var2,col=as.character(my.color))
虽然图形看起来不像ggplot2中那样好,但颜色是按照我想要的方式绘制的.
有没有明显的东西我缺少,或者这是否超出了ggplot2的范围?
从我的urls.py:
urlpatterns = [
...,
url(r'^docs/', include('rest_framework_swagger.urls')),
]
Run Code Online (Sandbox Code Playgroud)
我最近安装了django_rest_swagger,它包含在 中的 INSTALLED_APPS 中settings.py。但是,当我尝试运行服务器时,我得到一个ImportError:
File "/home/myname/myapp/api/urls.py", line 11, in <module>
url(r'^docs/', include('rest_framework_swagger.urls')),
File "/usr/local/lib/python2.7/dist-packages/django/conf/urls/__init__.py", line 52, \
in include
urlconf_module = import_module(urlconf_module)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named urls
Run Code Online (Sandbox Code Playgroud)
我正在使用自定义用户身份验证模型和令牌身份验证,这可能会也可能不会影响这一点(我也无法使用可浏览的 API)。
class UserProfile(AbstractUser):
gender = models.CharField(max_length=1,default='')
description = models.TextField(blank=True,default='')
Run Code Online (Sandbox Code Playgroud)
此外,当我尝试实现架构视图时,我收到了这个单独的错误:
视图.py:
@api_view()
@renderer_classes([SwaggerUIRenderer, OpenAPIRenderer])
def schema_view(request):
generator = schemas.SchemaGenerator(title='Test API')
return Response(generator.get_schema(request=request))
Run Code Online (Sandbox Code Playgroud)
网址.py:
urlpatterns= [ ..., url(r'schema-view/',schema_view), …
我有一个包含大约 600-700,000 个文档的数据库。当我在文档资源管理器中执行“SELECT value count(1) FROM c”时,它返回的值范围从 64,000 到 72,000,看起来是随机的。当我使用 Python SDK 执行此操作时,它会返回我上面提到的实际计数。为什么是这样?
我想使用从另一个函数创建的对象(cd下面的参数)在多时隙中绘制协方差/相关矩阵的一些热图.协方差矩阵存储在3维数组中,因此cd$covmat[,,i]调用第i个协方差矩阵.
最初我有一些问题与复制相同的情节.但是,我发现我遇到了环境问题.我已尝试解决这几种方法,下面的代码是最新的,但我无法弄清楚为什么它没有正确读取它.
这有什么特别的原因吗?我试过,包括和不包括环境参数(我希望不应该需要),我已经直接使用试过cd$covmat[,,i]在
aes()参数.
drawCovs<-function(cd,ncols){
require(ggplot2)
coords=expand.grid(x=1:cd$q,y=1:cd$q)
climits = c(-1,1)*max(cd$covmat)
cd$levels=c(cd$levels,"Total")
covtext=ifelse(!(cd$use.cor),'Covariance','Correlation')
plots=list()
cmat=list()
for (i in 1:(nlevels+1)){
cmat[[i]]<-cd$covmat[,,i]
.e<-environment
plots[[i]]<-ggplot(environment=.e)+geom_tile(aes(x=coords$x,y=coords$y,
fill=as.numeric(cmat[[i]]),color='white'))+
scale_fill_gradient(covtext,low='darkblue',high='red',limits=climits)+ylab('')
+xlab('')+guides(color='none')+scale_x_discrete(labels=cd$varnames,
limits=1:cd$q, expand=c(0,0))+scale_y_discrete(labels=cd$varnames,
limits=1:cd$q, expand=c(0,0))+theme(axis.text.x = element_text(angle = 90,
hjust = 1))+labs(title=paste0(covtext,"s of data, ",cd$levels[i]))
}
multiplot(plotlist=plots,cols=ncols)
}
Run Code Online (Sandbox Code Playgroud) 我有一个 pydodbc 游标连接到 Azure SQL 数据库,其中安装了最新版本的 FreeTDS,在 Mac OS Sierra 10.12.6 上运行:
cursor.execute("CREATE TABLE test(a INT, b INT)")
cursor.commit()
Run Code Online (Sandbox Code Playgroud)
这行得通,那我试试
cursor.fast_executemany=True
cursor.execute("INSERT INTO test(a, b) VALUES(?,?)", [(1,2),(3,4),(5,6)])
Run Code Online (Sandbox Code Playgroud)
这导致分段错误,我看到的唯一错误消息是 segmentation fault: 11
如果我没有设置cursor.fast_executemany=True,那么代码工作得很好。
我在 Ubuntu 中安装了 SDL2,但我一直无法让它随附的示例程序运行。以下是出现的错误。
|In function ‘int main(int, char**)’:|
‘SDL_HWSURFACE’ was not declared in this scope|
‘SDL_DOUBLEBUF’ was not declared in this scope|
‘SDL_SetVideoMode’ was not declared in this scope|
‘SDL_Flip’ was not declared in this scope|
||=== Build finished: 4 errors, 0 warnings ===|
Run Code Online (Sandbox Code Playgroud)
这是我的标题(我添加了 SDL_image 以防出现一些问题,但它没有改变任何东西)。
#ifdef __cplusplus
#include <cstdlib>
#else
#include <stdlib.h>
#endif
#ifdef __APPLE__
#include <SDL/SDL.h>
#else
#include <SDL.h>
#endif
#ifdef _SDL_imageH
#include <SDL_image.h>
#endif
Run Code Online (Sandbox Code Playgroud)
以下是我包含在链接器设置中的库:
libSDL2.a
libSDL2main.a
libSDL2_image.a
libz.a
Run Code Online (Sandbox Code Playgroud)
我连续添加了这些库,但它们似乎都没有帮助我的程序运行。以下是其他链接器选项:
-lmingw32
-lSDL2main
-lSDL2
-mwindows
-lm …Run Code Online (Sandbox Code Playgroud) 我正在编写过滤器的应用程序,并在每次应用新过滤器时汇总数据。由于其中一个过滤器是一个具有相当大基数 (> 10,000) 的搜索框,并且由于源数据中的总行数很大(已经部分汇总),因此可能需要一段时间才能更新。我希望有一个缓冲期,应用程序等待用户输入结束,例如,在实际开始更新过程之前 1-2 秒。
这是一个简单的示例(没有高基数),如果您相对快速地连续切换不同的选项,您将看到几个中间图。N如果增加,效果会更强、更明显(也更烦人) 。这里的瓶颈很可能是图形生成与数据处理,但总体概念是相同的。
library(shiny)
ui <- fluidPage(
titlePanel('Example Title'),
sidebarLayout(
sidebarPanel(
checkboxGroupInput(
'yFilterCheckbox',
label='Filter Checkbox',
choices = c('y<=-1','-1<y<1','y>=1'),
selected = c('y<=-1','-1<y<1','y>=1'),
),
checkboxGroupInput(
'cat1FilterCheckbox',
label='Category 1 Filter',
choices=LETTERS[1:4],
selected=LETTERS[1:4]
),
checkboxGroupInput(
'cat2FilterCheckbox',
label='Category 2 Filter',
choices=c('BIG','SMALL'),
selected = c('BIG','SMALL')
)
),
mainPanel(
plotOutput('myPlot')
)
)
)
server <- function(input, output){
library(tidyverse)
set.seed(2021*12*21)
N=200000
mydata = data.frame(
x1 = rnorm(N),
x2 = rnorm(N),
x3 = rnorm(N),
c1 = sample(LETTERS[1:4], N, replace=T),
c2 = …Run Code Online (Sandbox Code Playgroud) 现在我正在使用分析一些数据
row = dataset[dataset$id == id1,]
Run Code Online (Sandbox Code Playgroud)
和
row = subset(dataset,id == id1)
Run Code Online (Sandbox Code Playgroud)
其中所有id值都是整数.
但是,在使用更大的数据集时,我的结果令人失望.有什么方法可以加快这项具体任务吗?