我有以下代码来生成漂亮的圆环图:
%matplotlib inline
import matplotlib.pyplot as plt
size_of_groups=[12,11,30,3]
colors = ['#F92969','#FACA0C','#17C37B','#D9DFEB']
my_pie,_ = plt.pie(size_of_groups,radius = 1.2,colors=colors)
plt.setp(my_pie, width=0.6, edgecolor='white') #
plt.show()
Run Code Online (Sandbox Code Playgroud)
我没有采用在圆环图中间放置一个圆圈的方法 - 这是因为我需要使绘图的内部透明以用于其他目的。
现在,上面的输出是这样的:

但是,当我更改代码以添加该,autopct="%.1f%%"行时,它会中断,但无论如何都会输出带有标签的饼图(尽管不是甜甜圈):
%matplotlib inline
import matplotlib.pyplot as plt
size_of_groups=[12,11,30,3]
colors = ['#F92969','#FACA0C','#17C37B','#D9DFEB']
my_pie,_ = plt.pie(size_of_groups,radius = 1.2,colors=colors,autopct="%.1f%%")
plt.setp(my_pie, width=0.6, edgecolor='white') #
plt.show()
Run Code Online (Sandbox Code Playgroud)

错误是:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-39-ada97a3edee3> in <module>
13
14 # Create a pieplot
---> 15 my_pie,_ = plt.pie(size_of_groups,radius = 1.2,colors=colors,autopct="%.1f%%")
16
17 #,autopct="%.1f%%"
ValueError: too many values to …Run Code Online (Sandbox Code Playgroud) 我如何比较烧瓶中的两个密码?我需要在哪里这样做:在课堂上还是在request.method ==“POST”中?谢谢!
class ContactForm(FlaskForm):
email = StringField(label='E-mail', validators=[
validators.Length(min=5, max=35), validators.Email()
])
password = StringField(label='Password', validators=[
validators.Length(min=6, max=10)
])
password_confirm = StringField(label='Password confirm', validators=[
validators.Length(min=6, max=10)
])
def validate_name(form, field):
if len(field.password.data) != len(field.password_confirm.data):
raise ValidationError('Passwords must be equal')
Run Code Online (Sandbox Code Playgroud) 我有一个像一些输入:[('A', 'B'),('C', 'D'),('D', 'C'),('C', 'D')]。我想在这个 edgeList 表示的有向图中寻找循环是否存在。
我读了一个讨论:https : //www.geeksforgeeks.org/detect-cycle-in-a-graph/,但是当情况是这样时它有一些错误:
g = Graph(3)
g.addEdge('A', 'B')
g.addEdge('B', 'C')
g.addEdge('C', 'A')
Run Code Online (Sandbox Code Playgroud)
它的结果是“图没有循环”。这显然是错误的。你能帮我解决这个问题吗?
time_weight = list(100*np.exp(np.linspace(-1/divisor, -(num_steps-1)/divisor, num_steps))).apply(lambda x:int(x))
Run Code Online (Sandbox Code Playgroud)
当我尝试这样做时,我在 Python 3.7 中收到以下错误。
AttributeError:“列表”对象没有属性“应用”
有人能帮忙吗?
任务1
编写一个脚本,从 STDIN 读取字符串,如果字符串超过 10 个字符,则引发 ValueError 异常,否则打印读取的字符串。
我这样写代码
a = input("Enter a string")
if(len(a) > 10):
raise ValueError
else:
print(a)
Run Code Online (Sandbox Code Playgroud)
任务2
使用
try ... except子句。打印 except 块内的错误消息。
我现在对如何使用try-except这里感到困惑,因为要打印except块中的任何消息,程序必须在try块中失败。
我的输入将是PythonIsAmazing
我正在使用下面的 scipy signaltonoise 函数是代码,但它返回一个错误。我也在github中搜索过这个,但找不到。你能帮忙吗。
import numpy as np
import cv2
import math
import os
import csv
from scipy import stats
from PIL import Image
from skimage.color import rgb2gray
from multiprocessing import Pool
from skimage.feature import local_binary_pattern # Local Binary Pattern function
from scipy.stats import itemfreq # To calculate a normalized histogram
import scipy.stats as sp
from skimage.feature import hog
from scipy.ndimage.measurements import label
from scipy import signal as sg
def calc_snr(img):
snr = stats.signaltonoise(img, axis=None)
return snr
snr = calc_snr(img)
Run Code Online (Sandbox Code Playgroud) 我试图将字符串中的前 2 个字符移到末尾,将最后 2 个字符移到前面。然后我想反转我移动的字符。
例如,bajui。首先我们交换第一个和最后两个字符,给出uijba,然后我想反转ui成iu和ba成ab,因此最终结果应该是iujab。
这是我当前的代码:
def startToEnd(kata):
kata = kata[-2:] + kata[2:3] + kata[:2]
return kata
print(startToEnd("bajui"))
Run Code Online (Sandbox Code Playgroud)
有了这个它会给uijba。如何反转已移动的字符?
我正在尝试解决 Codewars 上的挑战。
巨魔正在攻击你的评论部分!
处理这种情况的常见方法是从喷子的评论中删除所有元音,消除威胁。
您的任务是编写一个函数,该函数接受一个字符串并返回一个删除所有元音的新字符串。
例如,字符串“这个网站是为失败者准备的,哈哈!” 会变成“Ths wbst s fr lsrs LL!”。
注意:对于此 kata y 不被视为元音。
这是工作:
def disemvowel(string):
output = []
for char in string:
if char not in "aeiouAEIOU":
output.extend(char)
return "".join(output)
Run Code Online (Sandbox Code Playgroud)
但我想用列表理解在一行中完成它。我试过这个:
return "".join([[].extend(char) for char in string if char not in "aeiouAEIOU"])
Run Code Online (Sandbox Code Playgroud)
...但我越来越
TypeError: sequence item 0: expected str instance, NoneType found
Run Code Online (Sandbox Code Playgroud) 当我尝试在 Python 3.7 中使用 f-string 语法组合字符串时出现错误。
我的代码如下:
i = 1
site_id= 0
meter = 0
model_id = i
target_name = 'log1p_meter_reading_corrected2'
f'model_site_id_{str(site_id)}_meter_{str(meter)}_{target_name}_model_id_{str(model_id)}_11_12_19.hdf5'
Run Code Online (Sandbox Code Playgroud)
返回错误:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-68-1ebe1c78d868> in <module>
6 target_name = 'log1p_meter_reading_corrected2'
7
----> 8 f'model_site_id_{str(site_id)}_meter_{str(meter)}_{target_name}_model_id_{str(model_id)}_11_12_19.hdf5'
TypeError: 'str' object is not callable
Run Code Online (Sandbox Code Playgroud)
是什么导致了错误,我应该如何更正我的代码?
df = pd.DataFrame({'Tissues':['a1','x2','y3','b','c1','v2','w3'], 'M':[1,2,'a',4,'b','a',7]})
df.set_index('Tissues')
Run Code Online (Sandbox Code Playgroud)
数据框看起来像:
M
Tissues
a1 1
x2 2
y3 a
b 4
c1 b
v2 a
w3 7
Run Code Online (Sandbox Code Playgroud)
如何将a列中的所有s替换M为特定值,2 以及所有bs 到 3?
我试过:
replace_values = {'a':2, 'b':3}
df['M'] = df['M'].map(replace_values)
Run Code Online (Sandbox Code Playgroud)
,但这将不在键中的其他值更改replace_values为NaN:
Tissues M
0 a1 NaN
1 x2 NaN
2 y3 2.0
3 b NaN
4 c1 3.0
5 v2 2.0
6 w3 NaN
Run Code Online (Sandbox Code Playgroud)
我明白我可以做到
df.loc[(df['M'] == 'a')] = 2
Run Code Online (Sandbox Code Playgroud)
但是我可以对 a、b 等有效地执行此操作,而不是一个一个地执行此操作吗?
python ×10
python-3.x ×5
string ×4
list ×2
numpy ×2
dataframe ×1
dictionary ×1
donut-chart ×1
f-string ×1
flask ×1
graph ×1
graph-theory ×1
matplotlib ×1
pandas ×1
plot ×1
python-3.7 ×1
replace ×1
reverse ×1
scipy ×1
slice ×1
try-except ×1
typeerror ×1
validation ×1
valueerror ×1
wtforms ×1