我从我的 MySQL 数据库中检索了一些数据。该数据在一列中包含日期(不是日期时间),在其他列中包含一些其他随机数据。假设dtf是我的数据框。还没有索引所以我设置了一个
dtf.set_index('date', inplace=True)
Run Code Online (Sandbox Code Playgroud)
现在我想从特定日期获取数据,所以我写例如
dtf.loc['2000-01-03']
Run Code Online (Sandbox Code Playgroud)
要不就
dtf['2000-01-03']
Run Code Online (Sandbox Code Playgroud)
这给了我一个KeyError:
KeyError: '2000-01-03'
Run Code Online (Sandbox Code Playgroud)
但我知道它在那里。dtf.head()给我看。
所以我确实查看了第一行的索引类型:
type(dtf.index[0])
Run Code Online (Sandbox Code Playgroud)
它告诉我:datetime.date. 一切都很好,现在如果我只是输入会发生什么
dtf.index
Index([2000-01-03, 2000-01-04, 2000-01-05, 2000-01-06, 2000-01-07, 2000-01-10,
2000-01-11, 2000-01-12, 2000-01-13, 2000-01-14,
...
2015-09-09, 2015-09-10, 2015-09-11, 2015-09-14, 2015-09-15, 2015-09-16,
2015-09-17, 2015-09-18, 2015-09-21, 2015-09-22],
dtype='object', name='date', length=2763)
Run Code Online (Sandbox Code Playgroud)
我对dtype='object'. 这不应该读datetime.date吗?
如果我在我的 mysql 表中使用 datetime 而不是 date 一切都像魅力一样。这是错误还是功能?我真的很想使用,datetime.date因为它最好地描述了我的数据。
我的熊猫版本是 0.17.0
我使用的是 python 3.5.0
我的操作系统是 arch linux
当一个数据帧中的日期时间对象位于另一个数据帧的日期时间对象范围内时,尝试合并两个数据帧。
继续获取:KeyError: 'cannot use a single bool to index into setitem' 在我发布的第二块代码中。
gametaxidf.loc[arrivemask, 'relevant'] = 1
Run Code Online (Sandbox Code Playgroud)
我假设它也会在下面的行中使用类似的命令发生。
这是给我带来麻烦的部分:
with open('/Users/benjaminprice/Desktop/TaxiCombined/Data/combinedtaxifiltered.csv', 'w') as csvfile:
fieldnames1 = ['index','pickup_datetime', 'dropoff_datetime', 'pickup_long', 'pickup_lat','dropoff_long','dropoff_lat','passenger_count','trip_distance','fare_amount','tip_amount','total_amount','stadium_code']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames1)
writer.writeheader()
for index, row in baseballdf.iterrows():
gametimestart = row['Start.Time']
gametimeend = row['End.Time']
arrivemin = gametimestart - datetime.timedelta(minutes=120)
arrivemax = gametimeend - datetime.timedelta(minutes = 30)
departmin = gametimeend - datetime.timedelta(minutes = 60)
departmax = gametimeend + datetime.timedelta(minutes = 90)
gametaxidf = combineddf[combineddf.DATE==row.DATE]
gametaxidf['relevant']=0
for index, row in gametaxidf.iterrows(): …Run Code Online (Sandbox Code Playgroud) 我使用下面的脚本从 fastq 文件中提取分子条形码。但是,我不断收到以下关键错误。
File "extractMolecularBarcode.py", line 42, in <module>
dicoBarcode[barcode] += 1
KeyError: '\n'
Run Code Online (Sandbox Code Playgroud)
我知道关键错误意味着字典中没有定义某些内容,但我无法找出问题所在。你能帮忙吗?太感谢了!
这是脚本:
import sys, itertools
iFastq=open(sys.argv[1], 'r')
oFastq=open(sys.argv[2], 'w')
oBarcode=open(sys.argv[3], 'w')
oLigation=open(sys.argv[4], 'w')
dicoBarcode={}
dicoLigation={}
nct='ACTGN'
for barcode in list(itertools.product(nct, repeat=6)):
dicoBarcode["".join(barcode)] = 0
dicoLigation["".join(barcode)] = 0
header= iFastq.readline().rstrip()
while header != '':
totseq= iFastq.readline()
plus = iFastq.readline()
qual = iFastq.readline()
barcode = totseq[0:6]
ligation = totseq[3:9]
seq = totseq[6:]
oFastq.write(header.split(" ")[0]+'_MolecularBarcode:'+barcode+' '+header.split(" ")[1]+'\n')
oFastq.write(seq)
oFastq.write(plus)
oFastq.write(qual[6:])
header= iFastq.readline().rstrip()
dicoBarcode[barcode] += 1
if len(seq) >= 4 …Run Code Online (Sandbox Code Playgroud) 我收到一条错误消息,但不知道如何继续,错误消息显示在下面。我已经下载了它运行所需的所有工具,但密钥似乎有问题。我已经正确输入了它们,但是为了保持我的帐户的私密性,我已隐藏帐户用户名和密码。提前致谢
C:\Users\User\Downloads\real-time-intrinio-python-master\real-time-intrinio-python-master> python realtime.py AAPL
Using Ticker: AAPL
Traceback (most recent call last):
File "realtime.py", line 18, in <module>
r=requests.get(auth_url, headers={"Authorization": "Basic %s" % base64.b64encode(os.environ['myUsername'] + ":" + os.environ['myPassword'])})
File "C:\Users\User\AppData\Local\Programs\Python\Python36-32\lib\os.py", line 669, in __getitem__
raise KeyError(key) from None
KeyError: 'myUsername'
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的代码,第 18 行是“r=requests.get(auth_url, headers...”
import websocket
import _thread
import time
import requests
import base64
import json
import sys
import os
from requests.auth import HTTPBasicAuth
try:
print ("Using Ticker: " + str(sys.argv[1]))
except:
print ("Please include ticker as first argument") …Run Code Online (Sandbox Code Playgroud) 我刚刚收到错误:
Traceback (most recent call last):
File "./download_documents.py", line 153, in <module>
paragraphs, used_pages = find_pages(lang, to_extract)
File "./download_documents.py", line 67, in find_pages
random.shuffle(page_titles_queue)
File "/usr/lib/python2.7/random.py", line 291, in shuffle
x[i], x[j] = x[j], x[i]
KeyError: 1
Run Code Online (Sandbox Code Playgroud)
这让我很困惑。
random.shuffle 似乎适用于零元素列表和单元素列表。page_titles_queue 是元组列表。random.shuffle(page_titles_queue),有page_titles_queue.pop(),但这不应该影响洗牌。对?那么 KeyError 的可能原因是什么?
我Python 2.7.12在 Ubuntu 16.04 上使用。
我试图从不同的目录级别导入模块,所以我使用了:
import os
import sys
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
Run Code Online (Sandbox Code Playgroud)
但现在我得到这个错误。我正在使用 Spyder,第一次使用以下导入时,它工作正常。
from source.search.ci_search_project import CI_Search_Project
Run Code Online (Sandbox Code Playgroud)
从第二次我收到这个错误开始。
文件“ipython-input-29-f35dfe634c32”,第 1 行,模块 >runfile('C:/Users/nrshakya/Documents/CI/src/Comp_IntelPython/ci_search_project_test.py', wdir='C:/Users/nrshakya/文档/CI/src/Comp_IntelPython')
文件“C:\Users\nrshakya\AppData\Local\Continuum\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py”,第 880 行,在运行文件 execfile(文件名,命名空间)中
文件“C:\Users\nrshakya\AppData\Local\Continuum\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py”,第 102 行,在 execfile 中 exec(compile(f.read(), filename) , 'exec'), 命名空间)
文件“C:/Users/nrshakya/Documents/CI/src/Comp_IntelPython/ci_search_project_test.py”,第 8 行,模块 from source.search.ci_search_project import CI_Search_Project
文件“frozen importlib._bootstrap”,第 961 行,位于 _find_and_load 中
文件“frozen importlib._bootstrap”,第 946 行,位于 _find_and_load_unlocked 中
文件“frozen importlib._bootstrap”,第 885 行,位于 _find_spec 中
文件“frozen importlib._bootstrap_external”,第 1157 行,位于 find_spec 中
文件“frozen importlib._bootstrap_external”,第 1123 行,位于 _get_spec 中
文件“frozen importlib._bootstrap_external”,第 994 行,位于iter中
文件“frozen importlib._bootstrap_external”,第 982 行,在 …
我最近开始学习 Python,我想编写一个脚本来从 CSV 列(格式为 YYYY/DD/MM)中提取一个月中的哪一天,然后将网站用户与一个月中的几天(最终是一个月的几周)进行比较) 作为挑战/学习练习。要点是它提取 CSV 信息,将其格式化/转换为整数,并将其作为字典将其重新组合在一起,将第 1-31 天与站点访问者的数量进行比较。
我的代码如下。我收到的错误是 'KeyError: 1' on line 29 result[days] = users。我想我明白发生了什么(有点 - 我猜它对我尝试为空字典分配值的方式不满意?它似乎正在寻找整数 1 作为键但没有找到它? ) 但我不知道接下来要做什么。我学习 Python 大约 2 周,所以我希望这不是一个太愚蠢的问题。我究竟做错了什么?如何使 users_by_day 索引 [0] 和 [1] 处的列成为字典中的键和值?
注意:我正在学习和使用 Python 3。
import csv
result = {}
with open('analytics.csv') as csv_file:
csv_reader = csv.reader(csv_file, delimiter=',')
line_count = 0
users_by_day = list(csv_reader)
for row in users_by_day: #iterate through data
day = row[0].split('/') #split date to extract day of month
try: #skip unsplit cells
day …Run Code Online (Sandbox Code Playgroud) 我是初学者/学生,想要开发神经网络的原型。我想从 DataFrame 列创建一个变量,但收到一个我不明白的错误:
# take() does not accept boolean indexers
KeyError: "None of [Index(['Solar - Actual Aggregated [MW]'], dtype='object')] are in the [columns]"
Run Code Online (Sandbox Code Playgroud)
我看过一篇文章说列名中的空格不好,但过去我没有遇到过这个问题。
import pandas as pd
import numpy as np
df = pd.read_csv("...Test_Trainingsdaten/03.06.19/Produziert%20Solar%20Wind_28-06-19.csv")
df.info()
# MTU 96 non-null object
# Solar - Actual Aggregated [MW] 96 non-null int64
X = df[["MTU"]].values # works
Y = df[["Solar - Actual Aggregated [MW]"]].values # error
Run Code Online (Sandbox Code Playgroud)
有了这两个变量,我想创建一个简单的机器学习模型,但我不知道如何修复该错误
一个pandas.DataFrame.explode作品如何?
在文档中:
https://pandas.pydata.org/pandas-docs/version/0.25/reference/api/pandas.DataFrame.explode.html
Run Code Online (Sandbox Code Playgroud)df = pd.DataFrame({'A': [[1, 2, 3], 'foo', [], [3, 4]], 'B': 1}) display(df) print(df.columns) print(df.dtypes) df.explode('A')
工作得很好。但是对于我的数据,它因一个关键异常而失败。我的数据最初是这样的:

具有以下类型:
print(foo.columns)
print(foo.dtypes)
Index(['model', 'id_min_days_cutoff'], dtype='object')
model object
id_min_days_cutoff int64
dtype: object
Run Code Online (Sandbox Code Playgroud)
其中model是使用 statsmodels 回归获得的:
model.summary2().tables[1]
Run Code Online (Sandbox Code Playgroud)
调用时:df.explode('model')
它失败了:
KeyError: 0
Run Code Online (Sandbox Code Playgroud)
试图重现这一点:
df_json = df.to_json()
# now load it again for SF purposes
df_json = '{"model":{"0":{"Coef.":{"ALQ_15PLUS_perc":95489.7866599741,"AST_perc":-272.9213162565,"BEV_UNTER15_perc":6781.448845533,"BEV_UEBER65_perc":-46908.2889142205},"Std.Err.":{"ALQ_15PLUS_perc":1399665.9788843254,"AST_perc":1558.1286516172,"BEV_UNTER15_perc":2027111.8764156068,"BEV_UEBER65_perc":1230965.9812726702},"z":{"ALQ_15PLUS_perc":0.0682232676,"AST_perc":-0.1751596802,"BEV_UNTER15_perc":0.0033453747,"BEV_UEBER65_perc":-0.038106893},"P>|z|":{"ALQ_15PLUS_perc":0.9456079052,"AST_perc":0.8609541651,"BEV_UNTER15_perc":0.9973307821,"BEV_UEBER65_perc":0.9696024555},"[0.025":{"ALQ_15PLUS_perc":-2647805.1223393031,"AST_perc":-3326.7973567063,"BEV_UNTER15_perc":-3966284.8215624653,"BEV_UEBER65_perc":-2459557.2784026605},"0.975]":{"ALQ_15PLUS_perc":2838784.6956592514,"AST_perc":2780.9547241933,"BEV_UNTER15_perc":3979847.7192535317,"BEV_UEBER65_perc":2365740.7005742197}},"1":{"Coef.":{"ALQ_15PLUS_perc":-140539.5196612777,"AST_perc":142.579413527,"BEV_UNTER15_perc":-45288.5612893498,"BEV_UEBER65_perc":-152106.9841374909},"Std.Err.":{"ALQ_15PLUS_perc":299852250.9155113101,"AST_perc":24013.7007484301,"BEV_UNTER15_perc":417010365.7919532657,"BEV_UEBER65_perc":171876588.9403209388},"z":{"ALQ_15PLUS_perc":-0.0004686959,"AST_perc":0.0059374194,"BEV_UNTER15_perc":-0.000108603,"BEV_UEBER65_perc":-0.0008849779},"P>|z|":{"ALQ_15PLUS_perc":0.9996260348,"AST_perc":0.9952626525,"BEV_UNTER15_perc":0.9999133474,"BEV_UEBER65_perc":0.9992938899},"[0.025":{"ALQ_15PLUS_perc":-587840151.997330904,"AST_perc":-46923.4091889186,"BEV_UNTER15_perc":-817370586.6933914423,"BEV_UEBER65_perc":-337024031.0927618742},"0.975]":{"ALQ_15PLUS_perc":587559072.9580082893,"AST_perc":47208.5680159725,"BEV_UNTER15_perc":817280009.5708128214,"BEV_UEBER65_perc":336719817.1244869232}}},"id_min_days_cutoff":{"0":2,"1":3}}'
pd.read_json(df_json).explode('model')
Run Code Online (Sandbox Code Playgroud)
失败:
KeyError: 0
Run Code Online (Sandbox Code Playgroud)
尝试使用以下方法之一找到替代方法:如何在 Pandas DataFrame 中取消嵌套(分解)一列?选择 2.1
pd.DataFrame({'model':np.concatenate(df_json.model.values)},
index=df_json.index.repeat(ddf_jsonf.model.str.len()))
Run Code Online (Sandbox Code Playgroud)
但这失败了:
ValueError: zero-dimensional arrays cannot be concatenated …Run Code Online (Sandbox Code Playgroud) 当我运行flowers_tf_lite.ipynb脚本时。
获取KeyError: 'accuracy'错误停止了程序。
我该如何解决此类错误?
acc = history.history['accuracy']
val_acc = history.history['val_accuracy']
loss = history.history['loss']
val_loss = history.history['val_loss']
plt.figure(figsize=(8, 8))
plt.subplot(2, 1, 1)
plt.plot(acc, label='Training Accuracy')
plt.plot(val_acc, label='Validation Accuracy')
plt.legend(loc='lower right')
plt.ylabel('Accuracy')
plt.ylim([min(plt.ylim()),1])
plt.title('Training and Validation Accuracy')
plt.subplot(2, 1, 2)
plt.plot(loss, label='Training Loss')
plt.plot(val_loss, label='Validation Loss')
plt.legend(loc='upper right')
plt.ylabel('Cross Entropy')
plt.ylim([0,1.0])
plt.title('Training and Validation Loss')
plt.xlabel('epoch')
plt.show()
Run Code Online (Sandbox Code Playgroud)
keyerror ×10
python ×9
pandas ×4
dataframe ×3
boolean ×1
csv ×1
date ×1
dictionary ×1
explode ×1
module ×1
mysql ×1
path ×1
python-2.7 ×1
python-3.x ×1
random ×1
shuffle ×1
tensorflow ×1