小编Kat*_*ara的帖子

尝试运行 jupyter 笔记本时模块“attr”出错

我正在尝试在 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)

python jupyter-notebook

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

如何在Django Rest Framework中的get方法中序列化queryset?

我正在尝试在此页后的 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)

django django-rest-framework

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

如何明确指定每个列应该在pandas中属于哪个组?

我有数据框以及以下列.

[A,B,C,d,E,F,G ...]

我想对此数据帧使用groupby方法,指定每列应属于哪个组,如下所示.

group1 = [A,C,D,G ...]
group2 = [B,E,F ...]

我可以找到一些解释如何使用groupby和条件的页面.但找不到适合这个问题的答案.
谁能告诉我如何实现这个逻辑?

pandas pandas-groupby

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

Django 中一张表可以有多个主键吗?

我有以下表格结构。
当我尝试迁移时,出现以下错误。

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)

django

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

合并具有指定后缀的多个数据帧

我实现了引用此页面合并多个数据帧.
我想要做的是为每个数据帧指定后缀,如下所示.
但是,我明白了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)

python pandas

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