标签: keyerror

KeyError:'plotly_domain'在使用plotly在python中进行散点图时

我正在用剧情做散点图.该图表是在我的帐户上生成的,但终端仍然报告错误:

Traceback (most recent call last):
File "IEORE4709HW1.py", line 106, in <module>
py.iplot(data, filename='basic-scatter')
File "/Library/Python/2.7/site-packages/plotly/plotly/plotly.py", line 175, in iplot
return tools.embed(url, **embed_options)
File "/Library/Python/2.7/site-packages/plotly/tools.py", line 412, in embed
!= session.get_session_config()['plotly_domain']):
KeyError: 'plotly_domain'
Run Code Online (Sandbox Code Playgroud)

我的代码是:

import urllib2
import numpy as np

import plotly.plotly as py
py.sign_in('halblooline', 'j90503v8gq')
import plotly.graph_objs as go
import numpy as np

N = 1000
random_x = np.random.randn(N)
random_y = np.random.randn(N)

# Create a trace
trace = go.Scatter(
    x = random_x,
    y = random_y,
    mode = 'markers'
) …
Run Code Online (Sandbox Code Playgroud)

python plot keyerror plotly

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

Python:默认的dict键,以避免KeyError

相当新的python,新手开发人员,第一次来电

我正在调用一些JSON并将相关数据解析为csv.我无法弄清楚如何使用默认密钥填充中间json Dict文件,因为许多都是未填充的.结果是KeyError,因为我试图将内容解析为csv.会喜欢任何建议!

谢谢.

更新:谢谢大家!我现在收到(制造商)的'NoneType'错误:

import urllib2, json, csv, sys, os, codecs, re

from collections import defaultdict

output = 'bb.csv'

csv_writer = csv.writer(open(output, 'w'))

header = ['sku', 'name', 'description', 'image', 'manufacturer', 'upc', 'department', 'class', 'subclass']

csv_writer.writerow(header)

i=1

while i<101:
    print i

    bb_url = urllib2.Request("http://api.remix.bestbuy.com/v1/products(sku=*)?show=sku,name,description,image,manufacturer,upc,department,class,subclass&format=json&sort=sku.asc&page=" + str(i) + "&pageSize=100&apiKey=*****************")
    bb_json = json.load(urllib2.urlopen(bb_url))

    print bb_json

    for product in bb_json['products']:
        row = []

        row.append(product['sku'])
        if product['name']:
            row.append(str((product['name']).encode('utf-8')))
        else:
            row.append("")
        row.append(str(product.get('description',"")))
        row.append(str(product['image'])+ " ")
        if product['name']:
            row.append(str(product.get('manufacturer',"").encode('utf-8')))
        else:
            row.append("")
        row.append(str(product.get('upc','').encode('utf-8')))
        row.append(str((product['department']).encode('utf-8')))
        row.append(str((product['class']).encode('utf-8')))
        row.append(str((product['subclass']).encode('utf-8')))

        csv_writer.writerow(row) …
Run Code Online (Sandbox Code Playgroud)

python csv json dictionary keyerror

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

Python日志文件配置KeyError:'formatters'

我目前正在开发一个python项目,并使用配置文件设置日志记录.它已经工作,并按需要记录我的消息.

但是,在重新安排了一些软件包和模块之后,我只得到一个关键错误.

完全追溯:

    Traceback (most recent call last):
  File "/Volumes/Daten/Eclipse/workspace/Carputer/src/pyboard/__init__.py", line 42, in <module>
    logging.config.fileConfig('../logging.conf', disable_existing_loggers=False)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/logging/config.py", line 70, in fileConfig
    formatters = _create_formatters(cp)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/logging/config.py", line 103, in _create_formatters
    flist = cp["formatters"]["keys"]
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/configparser.py", line 937, in __getitem__
    raise KeyError(key)
KeyError: 'formatters'
Run Code Online (Sandbox Code Playgroud)

这是我的日志文件:

[loggers]
keys=root,pyBoard

[handlers]
keys=consoleHandler

[formatters]
keys=detailedFormatter

[logger_root]
level=DEBUG
handlers=consoleHandler

[logger_pyBoard]
level=DEBUG
handlers=consoleHandler
qualname=pyBoard
propagate=0

[handler_consoleHandler]
class=StreamHandler
level=DEBUG
formatter=detailedFormatter
args=(sys.stdout,)

[formatter_detailedFormatter]
format=%(asctime)s - %(name)s - %(levelname)s : Line %(lineno)s - %(message)s
datefmt=
Run Code Online (Sandbox Code Playgroud)

以及相关代码:

if __name__ == …
Run Code Online (Sandbox Code Playgroud)

python eclipse logging keyerror

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

Pandas应用键错误

我是Python和数据科学的新手.我正在进行kaggle Outbrain竞赛,我的代码中引用的所有数据集都可以在https://www.kaggle.com/c/outbrain-click-prediction/data找到.

关于问题:我有一个带有列的数据框['document_id', 'category_id', 'confidence_level'].我想添加第四列,'max_cat'它返回与行的'category_id'最大值对应的'confidence_level''document_id'.

import pandas as pd
import numpy

main_folder = r'...filepath\data_location' + '\\'

docs_meta = pd.read_csv(main_folder + 'documents_meta.csv\documents_meta.csv',nrows=1000)
docs_categories = pd.read_csv(main_folder + 'documents_categories.csv\documents_categories.csv',nrows=1000)
docs_entities = pd.read_csv(main_folder + 'documents_entities.csv\documents_entities.csv',nrows=1000)
docs_topics = pd.read_csv(main_folder + 'documents_topics.csv\documents_topics.csv',nrows=1000)

def find_max(row,the_df,groupby_col,value_col,target_col):
   return the_df[the_df[groupby_col]==row[groupby_col]].loc[the_df[value_col].idxmax()][target_col]

test = docs_categories.copy()
test['max_cat'] = test.apply(lambda x: find_max(x,test,'document_id','confidence_level','category_id'))
Run Code Online (Sandbox Code Playgroud)

这给了我错误: KeyError: ('document_id', 'occurred at index document_id')

任何人都可以帮助解释为什么会发生此错误,或者如何以更有效的方式实现我的目标?

谢谢!

python group-by pandas keyerror kaggle

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

分配时Python字典键错误 - 我该如何解决这个问题?

我有一个我这样创建的字典:

myDict = {}
Run Code Online (Sandbox Code Playgroud)

然后我想在其中添加与另一个字典对应的键,其中我放了另一个值:

myDict[2000]['hello'] = 50
Run Code Online (Sandbox Code Playgroud)

所以,当我经过myDict[2000]['hello']某个地方时,它会给予50.

为什么Python不只是在那里创建这些条目?有什么问题?我认为只有当你尝试读取一个不存在的条目时才会出现KeyError,但我正在这里创建它?

python dictionary keyerror

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

Python Key Error = 0 - 无法在代码中找到Dict错误

基本上我已经绞尽脑汁好了,为什么我的代码不能正常工作,我已经分别测试了部件,并在整个网络上查看它是否可以提供帮助,但无济于事.我收到一个错误,回溯是:

Traceback (most recent call last):
File "yes2.py", line 62, in <module>
g.add_edge(row_index,col_index, b)
File "yes2.py", line 27, in add_edge
self.adj[u].append(edge) 
KeyError: 0
Run Code Online (Sandbox Code Playgroud)

有错误的两个部分是

    def add_edge(self, u, v, w=0): 
    if u == v: 
        raise ValueError("u == v") 
    edge = Edge(u,v,w) 
    redge = Edge(v,u,0) 
    edge.redge = redge 
    redge.redge = edge 
    self.adj[u].append(edge) #### LINE 27 ####
    self.adj[v].append(redge) 
    self.flow[edge] = 0 
    self.flow[redge] = 0 
Run Code Online (Sandbox Code Playgroud)

g = FlowNetwork()
map(g.add_vertex, ['0','1','2','3','4','5','6'])
with open('network.txt', "r") as file:
for row_index, row in enumerate(file):
    for col_index, value …
Run Code Online (Sandbox Code Playgroud)

python keyerror

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

为什么str(KeyError)会添加额外的引号?

为什么字符串表示为KeyError错误消息添加额外的引号?所有其他内置异常只是直接返回错误消息字符串.

例如,以下代码:

print str(LookupError("foo"))
print str(KeyError("foo"))
Run Code Online (Sandbox Code Playgroud)

产生以下输出:

foo
'foo'
Run Code Online (Sandbox Code Playgroud)

我曾与其他内置异常的采样(试过这个IndexError,RuntimeError,Exception等),他们都没有引号返回异常消息.

help(KeyError)表示它__str__(...)定义于KeyError,而不是LookupError使用BaseException基类中定义的那个.这解释了行为是如何不同的,但没有解释为什么 __str__(...)被覆盖KeyError.关于内置异常的Python文档并没有说明这种差异.

针对Python 2.6.6进行了测试

python exception keyerror

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

使用词典时如何避免KeyError?

现在我正在尝试编写汇编程序,但我不断收到此错误:

Traceback (most recent call last):
  File "/Users/Douglas/Documents/NeWS.py", line 44, in 
    if item in registerTable[item]:
KeyError: 'LD'

我目前有这个代码:

functionTable = {"ADD":"00",
         "SUB":"01",
         "LD" :"10"}

registerTable = {"R0":"00",
         "R1":"00",
         "R2":"00",
         "R3":"00"}

accumulatorTable = {"A"  :"00",
            "B"  :"10",
            "A+B":"11"}

conditionTable = {"JH":"1"}

valueTable = {"0":"0000",
          "1":"0001",
          "2":"0010",
          "3":"0011",
          "4":"0100",
          "5":"0101",
          "6":"0110",
          "7":"0111",
          "8":"1000",
          "9":"1001",
          "10":"1010",
          "11":"1011",
          "12":"1100",
          "13":"1101",
          "14":"1110",
          "15":"1111"}

source = "LD R3 15"

newS = source.split(" ")

for item in newS:

        if item in functionTable[item]:
            functionField = functionTable[item]
        else:
            functionField …
Run Code Online (Sandbox Code Playgroud)

python dictionary keyerror

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

Python:"除了KeyError"比"如果键入dict"更快?

编辑2:有人建议这是一个类似问题的副本.我不同意,因为我的问题集中在速度,而另一个问题是什么更"可读"或"更好"(没有更好地定义).虽然问题相似,但所给出的讨论/答案存在很大差异.

编辑:我从问题中意识到我可以更清楚.对不起代码拼写错误,是的,它应该使用适当的python运算符进行添加.

关于输入数据,我只选择了一个随机数列表,因为这是一个常见的样本.在我的情况下,我正在使用一个dict,我期望很多keyerrors,可能95%的密钥将不存在,并且存在的少数将包含数据集群.

无论输入数据集如何,我都对一般性讨论感兴趣,但当然有运行时间的样本很有趣.

我的标准方法就像许多其他帖子一样

list =  (100 random numbers)
d = {}
for x in list:
    if x in d:
        d[x]+=1
    else:
        d[x]=1
Run Code Online (Sandbox Code Playgroud)

但我只是想到这个更快,因为我们不必检查字典是否包含密钥.我们只是假设它确实如此,如果没有,我们会处理它.有什么区别或者Python比我聪明吗?

list =  (100 random numbers)
d = {}
for x in list:
    try:
        d[x]+=1
    except KeyError:
        d[x] = 1
Run Code Online (Sandbox Code Playgroud)

与数组中的索引,越界,负索引等相同的方法.

python performance counter dictionary keyerror

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

Python dict.get('key')与dict ['key']

为什么会抛出一个KeyError:

d = dict()
d['xyz']
Run Code Online (Sandbox Code Playgroud)

但这不是吗?

d = dict()
d.get('xyz')
Run Code Online (Sandbox Code Playgroud)

如果描述符在这里起作用,我也很好奇.

python dictionary descriptor keyerror

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