请考虑以下示例:
def main_list(error_type):
try:
if error_type == 'runtime':
raise RuntimeError("list error")
if error_type == 'valueerror':
raise ValueError("list error")
except [RuntimeError, ValueError] as e:
print str(e)
def main_tuple(error_type):
try:
if error_type == 'runtime':
raise RuntimeError("tuple error")
if error_type == 'valueerror':
raise ValueError("tuple error")
except (RuntimeError, ValueError) as e:
print str(e)
main_tuple('runtime')
main_tuple('valueerror')
main_list('runtime')
main_list('valueerror')
Run Code Online (Sandbox Code Playgroud)
元组是处理多种异常类型的正确方法.使用多个异常类型的列表不会导致处理.
我想知道为什么Python语法需要多个异常类型的元组.该文件说,它使用一个元组,因此,也许它只是"从来就没有使用列表,而不是一个元组的实现."
对我来说似乎也是合理的,至少在概念上也可以在这种情况下使用列表.
有没有理由为什么Python使用元组而不是列表来处理这种情况?
当尝试遵循以下在 Python 中使用 corr() 方法的练习时,我遇到了这个非常奇怪的错误
https://www.geeksforgeeks.org/python-pandas-dataframe-corr/
具体来说,当我尝试运行以下代码时:df.corr(method ='pearson')
错误消息没有提供任何线索。我认为 corr() 方法应该自动忽略字符串和空值等。
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
df.corr(method='pearson')
File "C:\Users\d.o\AppData\Local\Programs\Python\Python311\Lib\site-packages\pandas\core\frame.py", line 10059, in corr
mat = data.to_numpy(dtype=float, na_value=np.nan, copy=False)
File "C:\Users\d.o\AppData\Local\Programs\Python\Python311\Lib\site-packages\pandas\core\frame.py", line 1838, in to_numpy
result = self._mgr.as_array(dtype=dtype, copy=copy, na_value=na_value)
File "C:\Users\d.o\AppData\Local\Programs\Python\Python311\Lib\site-packages\pandas\core\internals\managers.py", line 1732, in as_array
arr = self._interleave(dtype=dtype, na_value=na_value)
File "C:\Users\d.o\AppData\Local\Programs\Python\Python311\Lib\site-packages\pandas\core\internals\managers.py", line 1794, in _interleave
result[rl.indexer] = arr
ValueError: could not convert string to float: 'Avery Bradley'
Run Code Online (Sandbox Code Playgroud) 我有一个箱线图,需要删除 x 轴('user_type' 和 'member_gender')标签。鉴于以下格式,我该怎么做?
sb.boxplot(x="user_type", y="Seconds", data=df, color = default_color, ax = ax[0,0], sym='').set_title('User-Type (0=Non-Subscriber, 1=Subscriber)')
sb.boxplot(x="member_gender", y="Seconds", data=df, color = default_color, ax = ax[1,0], sym='').set_title('Gender (0=Male, 1=Female, 2=Other)')
Run Code Online (Sandbox Code Playgroud) 我是一名数据科学家,经常使用 Jupyter Notebook,也开始做大量的开发工作并使用 Vscode 进行开发。那么如何在 vscode 中获取 Jupyter 笔记本主题呢?我知道如何通过安装扩展在 vscode 中打开 Jupyter 笔记本,但我想知道如何获取 vs code 的 Jupyter 笔记本主题。这样就可以更轻松地在两个 ide 之间切换,而无需训练眼睛
我正在尝试返回数据列表和绘图。它们确实显示在 HTML 代码中而不是网页中。当我查看终端时它显示"UserWarning: Starting a Matplotlib GUI outside of the main thread will likely fail."
from io import BytesIO
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
import pandas as pd
def extract(request):
if request.method == 'POST':
if request.FILES.get('document'):
file = request.FILES['document']
if 'data' in request.POST:
data = df = pd.read_excel(file)
mpl.rcParams['agg.path.chunksize'] = 10000
plt.plot(data["time"], data["make"], label='male')
plt.plot(data["time"], data["female"], label='female')
plt.xlabel('T')
plt.ylabel('M and F')
plt.legend()
buffer = BytesIO()
plt.savefig(buffer, format='png')
buffer.seek(0)
image_png = buffer.getvalue()
buffer.close() …Run Code Online (Sandbox Code Playgroud) 我试图推断tinyYOLO-V2与INT8重量和激活。我可以使用 TFliteConverter 将权重转换为 INT8。对于INT8激活,我必须给出代表性数据集来估计缩放因子。我创建此类数据集的方法似乎是错误的。
正确的程序是什么?
def rep_data_gen():
a = []
for i in range(160):
inst = anns[i]
file_name = inst['filename']
img = cv2.imread(img_dir + file_name)
img = cv2.resize(img, (NORM_H, NORM_W))
img = img / 255.0
img = img.astype('float32')
a.append(img)
a = np.array(a)
print(a.shape) # a is np array of 160 3D images
img = tf.data.Dataset.from_tensor_slices(a).batch(1)
for i in img.take(BATCH_SIZE):
print(i)
yield [i]
# https://www.tensorflow.org/lite/performance/post_training_quantization
converter = tf.lite.TFLiteConverter.from_keras_model_file("./yolo.h5")
converter.optimizations = [tf.lite.Optimize.DEFAULT]
converter.target_ops = [tf.lite.OpsSet.TFLITE_BUILTINS_INT8]
converter.inference_input_type …Run Code Online (Sandbox Code Playgroud) 这是我当前的代码
values = pd.Series([False, False, True, True])
v_counts = values.value_counts()
fig = plt.figure()
plt.pie(v_counts, labels=v_counts.index, autopct='%.4f', shadow=True);
Run Code Online (Sandbox Code Playgroud)
目前,它仅显示百分比(使用autopct)
我想同时显示百分比和实际值(我不介意位置)
我正在尝试为我从上一个问题成功融合的数据集绘制核密度估计图。
这就是我应该得到的(这是使用以下命令创建的pd.concat([pd.DataFrame[Knn], pd.DataFrame[Kss], pd.DataFrame[Ktt], ...):
数据框如下所示:
df_CohBeh
Out[122]:
melt value
0 Knn 2.506430e+07
1 Knn 3.344882e+06
2 Knn 5.783376e+07
3 Knn 1.687218e+06
4 Knn 2.975834e+06
.. ... ...
106 Ktt 2.056249e+08
107 Ktt 2.085805e+08
108 Ktt 7.791227e+07
109 Ktt 2.072576e+08
110 Ktt 4.658559e+07
[111 rows x 2 columns]
Run Code Online (Sandbox Code Playgroud)
其中列熔体只是定义为指定三个类别的变量。
# In[parameter distribution]
# Melt the results to create a single dataframe
df_CohBeh = pd.melt(df, value_vars=['Knn', 'Kss', 'Ktt'], var_name='melt')
# Normal distribution plots
f, ax = plt.subplots()
sns.set_context("paper",
rc={"font.size":12,"axes.titlesize":8,"axes.labelsize":12}) …Run Code Online (Sandbox Code Playgroud) 我有一个带有垂直数据的相当简单的带状图。
planets = sns.load_dataset("planets")
sns.stripplot(x="method", y="distance", data=planets, size=4, color=".7")
plt.xticks(rotation=45, ha="right")
plt.show()
Run Code Online (Sandbox Code Playgroud)
我想将每个 x 元素 ( ) 的平均值绘制method为一个小水平条,类似于您得到的结果:
sns.boxplot(
x="method",
y="distance",
data=planets,
whis=[50, 50],
showfliers=False,
showbox=False,
showcaps=False
)
Run Code Online (Sandbox Code Playgroud)
但没有第一/第三四分位数的垂直线(whis=[50,50]只有点),并且显示平均值而不是中位数。也许有一个更优雅的解决方案,不涉及箱线图。
我想使用 conda 安装一个包(python),但说在 repo.anaconda.com/....... 中不可用,我该如何安装它?
我尝试安装的特定包是edx-dl(github 存储库的链接)使用代码conda install edx-dl。此代码适用于pip但不适用于conda.
例如,在 pip 中,如果我pip install edx-dl在没有 anaconda 的情况下使用 python base 时键入能够安装包。但是现在使用 conda 它说它在 anaconda repo 中不可用。那么如果anaconda中没有的包,可以安装吗?
所以概括地说,有什么方法可以下载和安装condarepo.anaconda.com 中没有的 python 包?
请注意,我不使用基础 python,而是目前使用 anaconda。所以,不能pip用来安装那个包。
谢谢!
我收到的错误消息:
(基础) C:\WINDOWS\system32>conda install edx-dl
警告 conda.base.context:use_only_tar_bz2(632):Conda 被限制为只能使用旧的 .tar.bz2 文件格式,因为您安装了 conda-build,并且它是 <3.18.3。更新或删除 conda-build 以获得更小的下载和更快的提取。收集包元数据(repodata.json):完成解决环境:失败
PackagesNotFoundError:当前频道不提供以下软件包:
当前频道:
要搜索可能提供您正在寻找的 conda 包的备用频道,请导航到 …
python ×9
matplotlib ×4
pandas ×3
seaborn ×3
anaconda ×1
boxplot ×1
conda ×1
correlation ×1
dataset ×1
exception ×1
pie-chart ×1
pip ×1
python-2.7 ×1
python-3.x ×1
swarmplot ×1
tensorflow ×1
valueerror ×1