我正在用剧情做散点图.该图表是在我的帐户上生成的,但终端仍然报告错误:
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,新手开发人员,第一次来电
我正在调用一些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项目,并使用配置文件设置日志记录.它已经工作,并按需要记录我的消息.
但是,在重新安排了一些软件包和模块之后,我只得到一个关键错误.
完全追溯:
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和数据科学的新手.我正在进行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')
任何人都可以帮助解释为什么会发生此错误,或者如何以更有效的方式实现我的目标?
谢谢!
我有一个我这样创建的字典:
myDict = {}
Run Code Online (Sandbox Code Playgroud)
然后我想在其中添加与另一个字典对应的键,其中我放了另一个值:
myDict[2000]['hello'] = 50
Run Code Online (Sandbox Code Playgroud)
所以,当我经过myDict[2000]['hello']
某个地方时,它会给予50
.
为什么Python不只是在那里创建这些条目?有什么问题?我认为只有当你尝试读取一个不存在的条目时才会出现KeyError,但我正在这里创建它?
基本上我已经绞尽脑汁好了,为什么我的代码不能正常工作,我已经分别测试了部件,并在整个网络上查看它是否可以提供帮助,但无济于事.我收到一个错误,回溯是:
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) 为什么字符串表示为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进行了测试
现在我正在尝试编写汇编程序,但我不断收到此错误:
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) 编辑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)
与数组中的索引,越界,负索引等相同的方法.
为什么会抛出一个KeyError:
d = dict()
d['xyz']
Run Code Online (Sandbox Code Playgroud)
但这不是吗?
d = dict()
d.get('xyz')
Run Code Online (Sandbox Code Playgroud)
如果描述符在这里起作用,我也很好奇.