我正在尝试创建CDF,但在图表的末尾,有一条垂直线,如下所示:
我已经读过他是因为matplotlib使用bin的末尾来绘制垂直线,这是有意义的,所以我在我的代码中添加了:
bins = sorted(X) + [np.inf]
Run Code Online (Sandbox Code Playgroud)
其中X是我正在使用的数据集,并在绘图时将bin大小设置为:
plt.hist(X, bins = bins, cumulative = True, histtype = 'step', color = 'b')
Run Code Online (Sandbox Code Playgroud)
这确实会删除末尾的行并产生所需的效果,但是当我对此图表进行规范化时,它会产生错误:
ymin = max(ymin*0.9, minimum) if not input_empty else minimum
UnboundLocalError: local variable 'ymin' referenced before assignment
Run Code Online (Sandbox Code Playgroud)
无论如何要用数据标准化数据
bins = sorted(X) + [np.inf]
Run Code Online (Sandbox Code Playgroud)
在我的代码中还是有另一种方法来删除图表上的行?
所以我有一个 2D numpy 数组 (256,256),包含 0 到 10 之间的值,它本质上是一个图像。我需要删除 0 值并将它们设置为 NaN,以便我可以使用特定库 (APLpy) 绘制数组。但是,每当我尝试更改所有 0 值时,其他一些值都会被更改,在某些情况下会更改为原始值的 100 倍(不知道为什么)。
我正在使用的代码是:
for index, value in np.ndenumerate(tex_data):
if value == 0:
tex_data[index] = 'NaN'
Run Code Online (Sandbox Code Playgroud)
其中 tex_data 是我需要从中删除零的数据数组。不幸的是,我不能只对不需要的值使用掩码,因为据我所知,除了掩码数组之外,APLpy 不会。
无论如何我可以将 0 值设置为 NaN 而不更改数组中的其他值?
我是 Flask 的新手,我一直在尝试在两个网页之间传递一个变量。第一个是一个简单的表单来接受一个数字,第二个页面只显示输入的内容。
表单页面的 HTML:
<!doctype html>
<html>
<body>
<form action ="{{ url_for('return_form', glon="glon") }}" method="post">
Galactic Longitude: <input type="text" name="glon">
<button type="submit">Submit</button>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
显示页面的 HTML:
<!doctype html>
<body>
<p> {{ glon }} </p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
Flask 脚本目前看起来像这样:
from flask import Flask
from flask import render_template, url_for, request, redirect
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/form/', methods = ['GET', 'POST'])
def form():
if request.method == 'POST':
glon = request.form['glon']
#glat = request.form['glat']
return redirect(url_for('return_form', glon=glon))
return …Run Code Online (Sandbox Code Playgroud) 希望是一个简单的问题,但我有两个DataFrame,根据我正在寻找的名称,我从中抽取了一行:
mmb_df[mmb_df['name'] == mmb_name]
jps_df[jps_df['name'] == jps_name]
Run Code Online (Sandbox Code Playgroud)
这给了我两行,每行约60列,而我想做的就是将它们组合在一起,这样我就有了一行120列.有些列确实有相同的名称,但我不确定这是否有所不同.
如果我有两行如下:
name tag x y
001_Dc F 243 567
name tag position1 position2
jps_043 EW 908 219
Run Code Online (Sandbox Code Playgroud)
我只需要它们:
name tag x y name tag position1 position2
001_Dc F 243 567 jps_043 EW 908 219
Run Code Online (Sandbox Code Playgroud)
我确信这可以轻松完成,但我没有运气.