小编sci*_*guy的帖子

如何从Windows完全删除anaconda?

我刚刚安装了anaconda但最近决定卸载它并安装基本的python 2.7.

我删除了anaconda并删除了所有目录并安装了python 2.7.

但是,当我去安装pygtk for windows时,它说它会将它安装到c:/ users /.../ Anaconda目录 - 这甚至不存在.我想将它安装到c:/python-2.7目录.为什么还认为anaconda仍在安装?我怎么能改变这个?

python windows anaconda

73
推荐指数
7
解决办法
18万
查看次数

在python中舍入科学记数法

我有一个像2.32432432423e25python中的数字是计算的结果.

我想将其舍入到3个小数点以获得输出:

2.324e25
Run Code Online (Sandbox Code Playgroud)

我试过用:

x = 2.32432432423e25 
number_rounded = round(x, 3)
Run Code Online (Sandbox Code Playgroud)

但是当我打印number_rounded它时输出一个格式相同的数字 x.

如何将显示限制x为仅4位有效数字?

python

9
推荐指数
2
解决办法
6536
查看次数

高斯适合嘈杂和"有趣"的数据集

我有一些看起来像这样的数据(X射线衍射):

在此输入图像描述

我想在这个数据集中加入Gaussian来获得"更宽"部分的FWHM.在7度θ左右的双峰不是重要的信息,来自不需要的来源.

为了让自己更清楚,我想要这样的东西(我在油漆中制作:)):

在此输入图像描述

我试图使用以下代码在python中编写脚本:

import math
from pylab import *
import numpy as np
import scipy as sp
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
data2=np.loadtxt('FWHM.spc')    
x2,y2=data2[:,0],data2[:,7]
plt.title('Full Width Half Max of 002 Peak')
plt.plot(x2, y2, color='b')
plt.xlabel('$\\theta$', fontsize=10)
plt.ylabel('Intensity', fontsize=10)
plt.xlim([3,11])
plt.xticks(np.arange(3, 12, 1), fontsize=10)
plt.yticks(fontsize=10)

def func(x, a, x0, sigma):
    return a*np.exp(-(x-x0)**2/(2*sigma**2))

mean = sum(x2*y2)/sum(y2)
sigma2 = sqrt(abs(sum((x2-mean)**2*y2)/sum(y2)))
popt, pcov = curve_fit(func, x2, y2, p0 = [1, mean, sigma2])
ym = func(x2, popt[0], popt[1], popt[2])
plt.plot(x2, ym, …
Run Code Online (Sandbox Code Playgroud)

python numpy matplotlib scipy

9
推荐指数
1
解决办法
939
查看次数

如何最大化主窗口并防止在 QT 中调整大小

我试图在运行时最大化我的主 qt 窗口并防止用户调整它的大小。我努力了

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow widget;
    widget.showMaximized();
    widget.show();
    return a.exec();
}
Run Code Online (Sandbox Code Playgroud)

这确实最大化了窗口,同时

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    this->setWindowFlags(this->windowFlags() | Qt::MSWindowsFixedSizeDialogHint);
    ui->setupUi(this);
}
Run Code Online (Sandbox Code Playgroud)

这会使最小化和关闭窗口中间标题栏中的“恢复”、“最大化”按钮变灰。

但我仍然可以向下拖动标题栏以取消最大化窗口的对齐,然后重新调整角和边缘的大小。

如何防止取消窗口的捕捉并且严格禁止调整大小。

谢谢!

c++ qt

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

无法将'const char*'转换为'LPCWSTR {aka const wchar_t*}'

我的C++代码中出现了一个我无法理解的错误.剥离的代码位在这里:

RS232Handle=OpenRS232("COM1", 9600);

HANDLE OpenRS232(const char* ComName, DWORD BaudRate)
{
    ComHandle=CreateFile(ComName, GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

error: cannot convert 'const char*' to 'LPCWSTR {aka const wchar_t*}' for argument '1' to 'void* CreateFileW(LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE)'
     ComHandle=CreateFile(ComName, GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
Run Code Online (Sandbox Code Playgroud)

代码取自VS代码,我现在正在使用Qt创建者.

我该如何解决这个问题?谢谢!

c++ qt wchar-t type-conversion char

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

将每个数字数组元素绘制为水平线

有没有一种简单的方法可以将每个数组元素绘制为python中的水平线?

例:

some_array = [2 4 5 8 4 3 ... n]
Run Code Online (Sandbox Code Playgroud)

现在我想要一个绘制水平线的图形:

y_1 = 2
y_2 = 4
y_3 = 5
.
.
.
y_n = n
Run Code Online (Sandbox Code Playgroud)

some_array的长度不固定,因为我不知道它将包含多少元素,因此代码必须能够处理这个.

我知道我可以这样做:

plt.plot((x[0], x[-1]), (some_array[0], some_array[0]), 'k-')
Run Code Online (Sandbox Code Playgroud)

并且可能把它放在while循环中,所以它运行数组的长度,但我觉得有更好的方法.

python matplotlib

2
推荐指数
1
解决办法
445
查看次数

翻转一个数组并反转每一秒

基本上我在python'example'中有一个矩阵(虽然大得多).我需要使用一些python代码生成数组'example_what_I_want'.我想for循环是有序的 - 但我怎么能这样做?

example= 
[1,2,3,4,5],
[6,7,8,9,10],
[11,12,13,14,15],
[16,17,18,19,20],
[21,22,23,24,25]

example_what_I_want = 
[25,24,23,22,21],
[16,17,18,19,20],
[15,14,13,12,11],
[6,7,8,9,10],
[5,4,3,2,1]
Run Code Online (Sandbox Code Playgroud)

所以它以蛇的方式增加.第一行必须颠倒!然后按照那种模式.

谢谢!

python matrix

0
推荐指数
1
解决办法
143
查看次数

如何根据第一列从数组中删除重复的行.

我有以下情况:

    >>> a # I have
    array([[0, 1],
           [0, 2],
           [0, 2],
           [1, 3],
           [1, 3],
           [2, 1]])
    >>> new_a # I want to get to
    array([[0, 1],
           [1, 3],
           [2, 1]])
Run Code Online (Sandbox Code Playgroud)

基本上是一个纯粹的numpy解决方案,如果第一列中有重复的条目,如何删除整行.例如:第一行是[0,1],第二行是[0,2] - 由于0(第一列)是重复的,我想保留第一个实例并删除任何其他实例.

我确信我可以设置一些If语句和while循环 - 但我想知道是否有更优雅的解决方案.谢谢!

python numpy

0
推荐指数
1
解决办法
721
查看次数

标签 统计

python ×6

c++ ×2

matplotlib ×2

numpy ×2

qt ×2

anaconda ×1

char ×1

matrix ×1

scipy ×1

type-conversion ×1

wchar-t ×1

windows ×1