我正在尝试在 Windows 10 PC 上运行 jupyter 笔记本。
安装 miniconda 并安装所需的库后,我运行 jupyter Notebook 并收到以下错误。
我已经使用 jupyter 笔记本几年了,这是第一次看到这个错误。
有谁遇到过这个或者知道如何解决?
File "C:\Users\katsuya.obara\AppData\Local\Continuum\miniconda3\envs\py35\Scripts\jupyter-notebook-script.py", line 6, in <module>
from notebook.notebookapp import main
File "C:\Users\katsuya.obara\AppData\Local\Continuum\miniconda3\envs\py35\lib\site-packages\notebook\notebookapp.py", line 83, in <module>
from .services.contents.manager import ContentsManager
File "C:\Users\katsuya.obara\AppData\Local\Continuum\miniconda3\envs\py35\lib\site-packages\notebook\services\contents\manager.py", line 17, in <module>
from nbformat import sign, validate as validate_nb, ValidationError
File "C:\Users\katsuya.obara\AppData\Local\Continuum\miniconda3\envs\py35\lib\site-packages\nbformat\__init__.py", line 33, in <module>
from .validator import validate, ValidationError
File "C:\Users\katsuya.obara\AppData\Local\Continuum\miniconda3\envs\py35\lib\site-packages\nbformat\validator.py", line 12, in <module>
from jsonschema import ValidationError
File "C:\Users\katsuya.obara\AppData\Local\Continuum\miniconda3\envs\py35\lib\site-packages\jsonschema\__init__.py", line 12, in <module>
from jsonschema.exceptions …Run Code Online (Sandbox Code Playgroud) 我正在尝试在此页后的 APIView类中实现计算逻辑。
但是,出现以下错误是因为我尝试序列化查询集,而不是页面中演示的字典。
有谁知道我如何将queryset作为参数传递给序列化程序?如果没有,是否有任何方法可以转换为可以由序列化器序列化的格式?
{
"non_field_errors": [
"Invalid data. Expected a dictionary, but got QuerySet."
]
}
Run Code Online (Sandbox Code Playgroud)
views.py
class envelopeData(APIView):
def get(self,request,pk):
#pk=self.kwargs['pk']
#print (pk)
glass_json=self.get_serialized(pk,"glass")
print (glass_json)
def get_serialized(self,pk,keyword):
queryset = summary.objects.filter(html__pk=pk).filter(keyword=keyword)
serializer = summarySerializer(data=queryset) <=get error here
serializer.is_valid(raise_exception=True)
data=serializer.validated_data
return data["json"]
Run Code Online (Sandbox Code Playgroud)
序列化器
class strToJson(serializers.CharField):
def to_representation(self,value):
x=JSON.loads(value)
return x
class summarySerializer(serializers.ModelSerializer):
project=serializers.CharField(read_only=True,source="html.project")
version = serializers.CharField(read_only=True, source="html.version")
pk = serializers.IntegerField(read_only=True, source="html.pk")
json = strToJson()
#json=serializers.JSONField(binary=True)
class Meta:
model=summary
fields=('pk','project','version','json')
Run Code Online (Sandbox Code Playgroud) 我有数据框以及以下列.
[A,B,C,d,E,F,G ...]
我想对此数据帧使用groupby方法,指定每列应属于哪个组,如下所示.
group1 = [A,C,D,G ...]
group2 = [B,E,F ...]
我可以找到一些解释如何使用groupby和条件的页面.但找不到适合这个问题的答案.
谁能告诉我如何实现这个逻辑?
我有以下表格结构。
当我尝试迁移时,出现以下错误。
django.db.utils.OperationalError:表“certificate_light”有多个主键
但是,我发现其他堆栈溢出页面说在 RDBMS 中一个表可以有多个主键。
谁能知道我如何在 Django 中实现具有多个主键的表?
模型.py
class Certificate(models.Model):
name=models.CharField(max_length=20)
class Zone(models.Model):
zone=models.CharField(max_length=20)
conditioned=models.BooleanField(default=True)
class Light(models.Model):
certificate=models.ForeignKey(Certificate, on_delete=models.CASCADE,related_name='certificate')
zone=models.ForeignKey(Zone, on_delete=models.CASCADE,related_name='lightzone')
lpd=models.IntegerField()
sensor=models.BooleanField(default=True)
Run Code Online (Sandbox Code Playgroud)
更新
我添加了详细的错误消息,如下所示。
Applying certificate.0007_auto_20181126_1155...Traceback (most recent call last):
File "C:\Users\obakatsu\Anaconda3\envs\webEP\lib\site-packages\django\db\backends\utils.py", line 63, in execute
return self.cursor.execute(sql)
File "C:\Users\obakatsu\Anaconda3\envs\webEP\lib\site-packages\django\db\backends\sqlite3\base.py", line 326, in execute
return Database.Cursor.execute(self, query)
sqlite3.OperationalError: table "certificate_light" has more than one primary key
Run Code Online (Sandbox Code Playgroud) 我实现了引用此页面合并多个数据帧.
我想要做的是为每个数据帧指定后缀,如下所示.
但是,我明白了ValueError: too many values to unpack (expected 2).
我明白,为后缀提供长于2的元组会导致此问题.但我不知道如何编写代码来解决这个问题.
谁能告诉我怎么写?
def agg_df(dfList, suffix):
temp=reduce(lambda left, right: pd.merge(left, right, left_index=True, right_index=True,
how='outer', suffixes=suffix), dfList)
return temp
df=agg_df([df_cool, df_light, df_sp, df_hvac], ('_chiller', '_light', '_sp', '_hvac'))
Run Code Online (Sandbox Code Playgroud)