小编use*_*817的帖子

在python中为信号添加噪声

我想在我用Python模拟的100个bin信号中添加一些随机噪声 - 使其更加真实.

在基本层面上,我的第一个想法是逐个bin,只是在一定范围之间生成一个随机数,并从信号中加上或减去它.

我希望(因为这是python)可能有更聪明的方法通过numpy或其他东西来做到这一点.(我认为理想情况下,从高斯分布中提取并添加到每个bin中的数字也会更好.)

感谢您的任何回复.


我只是在计划我的代码阶段,所以我没有任何东西要展示.我只是觉得可能有更复杂的方法来产生噪音.

就输出而言,如果我有10个具有以下值的区间:

Bin 1:1 Bin 2:4 Bin 3:9 Bin 4:16 Bin 5:25 Bin 6:25 Bin 7:16 Bin 8:9 Bin 9:4 Bin 10:1

我只是想知道是否有一个预定义的函数可以添加噪音给我类似的东西:

Bin 1:1.13 Bin 2:4.21 Bin 3:8.79 Bin 4:16.08 Bin 5:24.97 Bin 6:25.14 Bin 7:16.22 Bin 8:8.90 Bin 9:4.02 Bin 10:0.91

如果没有,我将逐个bin地添加从高斯分布中选择的数字到每个.

谢谢.


它实际上是我正在模拟的射电望远镜发出的信号.我希望能够最终选择模拟的信噪比.

python

73
推荐指数
5
解决办法
12万
查看次数

定位彩条

我有一个python imshow情节,附有一个颜色条.我想将颜色条定位为水平,并在我的情节下面.

我几乎通过以下方式完成了这项工作:

plt.colorbar(orientation="horizontal",fraction=0.07,anchor=(1.0,0.0))
Run Code Online (Sandbox Code Playgroud)

但是颜色条仍然略微重叠(和x轴的标签).我想进一步向下移动颜色条,但我无法弄清楚如何做到这一点.

谢谢.

python matplotlib

43
推荐指数
2
解决办法
8万
查看次数

Jupyter Notebook 500:内部服务器错误

我想学习如何使用Jupyter Notebook.到目前为止,我已经设法下载并安装它(使用pip),但是我无法打开它.

我打开它打开它:

jupyter notebook
Run Code Online (Sandbox Code Playgroud)

在我的终端.它在我的浏览器中打开,其中包含以下URL:

http://localhost:8888/tree
Run Code Online (Sandbox Code Playgroud)

我得到一个大的:

500 : Internal Server Error
Run Code Online (Sandbox Code Playgroud)

信息.有人能指出我出错的方向吗?

我的终端中的完整错误消息:

[E 17:53:52.034 NotebookApp] Uncaught exception GET /tree (::1)
    HTTPServerRequest(protocol='http', host='localhost:8888', method='GET', uri='/tree', version='HTTP/1.1', remote_ip='::1', headers={'Accept-Language': 'en-US,en;q=0.8,es;q=0.6', 'Accept-Encoding': 'gzip, deflate, sdch', 'Host': 'localhost:8888', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36', 'Connection': 'keep-alive', 'Upgrade-Insecure-Requests': '1'})
    Traceback (most recent call last):
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tornado/web.py", line 1443, in _execute
        result = method(*self.path_args, **self.path_kwargs)
      File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tornado/web.py", line 2800, in wrapper
        return method(self, …
Run Code Online (Sandbox Code Playgroud)

python pip jupyter-notebook

15
推荐指数
11
解决办法
3万
查看次数

如何使用numpy vstack

我花了很多时间在这个(简单的)Python代码上,感谢这个论坛,我几乎就在那里.我真的希望有人可以让我直接让它100%工作!

首先,这是代码的相关部分:

stokes_list = np.zeros(shape=(numrows,1024)) # 'numrows' defined earlier
for i in range(numrows):
    epoch_name = y['filename'][i] # 'y' is an array from earlier
    os.system('pdv -t {0} > temp.txt '.format(epoch_name)) # 'pdv' is a command from another piece of software - here I copy the output into a temporary file
    stokes_line = np.genfromtxt('temp.txt', usecols=3, dtype=[('stokesI','float')], skip_header=1)
    stokes_list = np.vstack((stokes_line,stokes_line))
Run Code Online (Sandbox Code Playgroud)

所以基本上,每次代码循环时,stokes_line从文件'temp.txt'中拉出其中一列(第4个),我希望每次都向'stokes_list'添加一行.

例如,如果第一个stokes_line

1.1 2.2 3.3  
Run Code Online (Sandbox Code Playgroud)

第二是

4.4 5.5 6.6  
Run Code Online (Sandbox Code Playgroud)

然后temp.txt

1.1 2.2 3.3  
4.4 5.5 6.6  
Run Code Online (Sandbox Code Playgroud)

并将继续增长......

它现在不工作,因为我认为这条线: …

python numpy

13
推荐指数
2
解决办法
4万
查看次数

在终端使用scp

我已经在远程计算机上创建了一个文件,我已经将其编入.我想将文件传回我正在使用的笔记本电脑.我看到我应该使用命令:

scp username@server:/home/username/file_name /home/local-username/file-name
Run Code Online (Sandbox Code Playgroud)

但我还不确定我的笔记本电脑应该用什么(这是一个macbook).对于"家",我想我使用当我打开时将pwd输入到终端时出现的路径?

我试试这个,然后收到消息:

No such file or directory
Run Code Online (Sandbox Code Playgroud)

我知道这很容易,但我以前没做过.任何帮助都会很棒.谢谢.

terminal

13
推荐指数
2
解决办法
8万
查看次数

某些子图之间的间距,但不是全部

我在python中有一个带有3个子图的matplotlib图,全部在1列中.

我目前控制每个子图的高度:

gridspec.GridSpec(3, 1, height_ratios=[1, 3, 3])
Run Code Online (Sandbox Code Playgroud)

我没有间距:

plt.subplots_adjust(hspace=0.0)
Run Code Online (Sandbox Code Playgroud)

但我想在第2行和第3行之间留一些间距.

在其他一个答案中,我读到我可以做类似的事情:

gs1.update(left=0.05, right=0.48, wspace=0)
Run Code Online (Sandbox Code Playgroud)

但我真的不明白发生了什么.有人可以给我更多信息吗?

python matplotlib

10
推荐指数
2
解决办法
5137
查看次数

删除 x 刻度但保留网格线

我有一个 Pyplot 图,我想向其中添加网格线。我这样做了:

plt.grid(True)
Run Code Online (Sandbox Code Playgroud)

然后我使用以下方法删除了我的 x 刻度:

ax1.xaxis.set_visible(False)
Run Code Online (Sandbox Code Playgroud)

我的 x 刻度被删除了,但 x 网格线也被删除了。我希望他们留下来。

请问有什么办法可以做到这一点吗?

python matplotlib

8
推荐指数
2
解决办法
4844
查看次数

如何创建列表列表

我的Python代码每次循环时都会生成一个列表:

list = np.genfromtxt('temp.txt', usecols=3, dtype=[('floatname','float')], skip_header=1)
Run Code Online (Sandbox Code Playgroud)

但我想保存每一个 - 我需要一份清单吗?

所以我尝试过:

list[i] = np.genfromtxt('temp.txt', usecols=3, dtype=[('floatname','float')], skip_header=1)
Run Code Online (Sandbox Code Playgroud)

但Python现在告诉我"list"没有定义.我不确定如何定义它.另外,列表是否与数组相同?

谢谢!

python list

7
推荐指数
3
解决办法
12万
查看次数

如何在 Google Colab 交互式中制作 matplotlib 图

我正在使用 python 和 matplotlib,我正在尝试在 Google Colab 中创建一个交互式绘图。我可以制作情节,但它是静态的。我当前的代码如下:

%matplotlib notebook
%config InlineBackend.figure_format = 'retina'
from __future__ import print_function, division
import sys
import numpy as np
import astropy.units as u
import matplotlib.pyplot as plt
import os
%matplotlib inline
import json
import glob
import shutil
import math
from mpl_toolkits import mplot3d
Run Code Online (Sandbox Code Playgroud)
fig = plt.figure(figsize=(15, 15))
ax = fig.add_subplot(111, projection='3d')

p_r = 299.9032078
p_de = 20.80420061
p_di = 1.5

ax.scatter(p_di,p_r,p_de, s=200, color='b',marker='o')

sta_r = [297.9021920849609,295.904451838485,295.9023343973089,297.90309565270053,296.90333856407784]
sta_de = [20.844424295419174,20.81360810319505,20.723442484679984,20.824023603726815,20.70437024345076]
sta_pa = [-0.5158962093235283,0.7968902494174,0.5119758027825232,-0.6155926470014295,1.2453997167305746]
sta_di = [1/sp …
Run Code Online (Sandbox Code Playgroud)

python 3d matplotlib google-colaboratory

7
推荐指数
1
解决办法
5831
查看次数

分离ssh + tmux会话时,Python代码因“无法连接到X服务器”而崩溃

我在远程计算机(我将其插入)中运行Python代码,然后使用Tmux。在我断开与远程计算机的连接之前,代码运行良好。我通过Tmux进行连接的重点是即使我没有连接到远程计算机,代码也可以继续运行。稍后重新连接时,出现错误消息:

: cannot connect to X server localhost:11.0
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么会这样或我如何阻止它?

python ssh tmux

6
推荐指数
1
解决办法
1万
查看次数