小编Anw*_*vic的帖子

如何避免使用全局变量?

经过20年的中断后重新开始编程.一直认为在python中使用全局变量是设计糟糕的标志,但无法找到更好的方法.

下面是一个小程序,利用全局变量'暂停'来确定音乐播放器的状态.该变量由几个函数使用.

没有利用全局变量有更好的方法吗?

# Global variable to access from multiple functions
paused = False


def play_music():

    global paused

    if not paused:

        try:
            mixer.music.load(filename)
            mixer.music.play()
            statusBar['text'] = 'Playing Music - ' + os.path.basename(filename)
        except:
            tkinter.messagebox.showerror('File not found',
                                         'Melody could not find the file.')
    else:
        mixer.music.unpause()
        paused = False
        statusBar['text'] = 'Playing Music - ' + os.path.basename(filename)


def stop_music():
    mixer.music.stop()
    statusBar['text'] = 'Music stopped'


def pause_music():

    global paused

    if not paused:
        mixer.music.pause()
        paused = True
        statusBar['text'] = 'Music paused'

    else:
        play_music()
Run Code Online (Sandbox Code Playgroud)

python

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

如何在Python中用第95和第5个百分位数替换离群值?

我正在尝试对时间序列数据进行离群值处理,在该数据中,我想将> 95%的值替换为95%的值,将<5%的值替换为5%的值。我已经准备了一些代码,但是找不到所需的结果。

我正在尝试使用名为Cut的子函数创建OutlierTreatment函数。代码如下

def outliertreatment(df,high_limit,low_limit):
    df_temp=df['y'].apply(cut,high_limit,low_limit, extra_kw=1)
    return df_temp
def cut(column,high_limit,low_limit):
    conds = [column > np.percentile(column, high_limit),
             column < np.percentile(column, low_limit)]
    choices = [np.percentile(column, high_limit),
            np.percentile(column, low_limit)]
    return np.select(conds,choices,column)  
Run Code Online (Sandbox Code Playgroud)

我希望在OutlierTreatment函数中发送数据帧,其中95作为high_limit和5作为low_limit。如何达到预期的效果?

python time-series outliers dataframe pandas

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

在 Sublime text 上运行 TypeScript 文件

我想在 sublime text 3 控制台中构建一个 TypeScript 文件(扩展名为 .ts),并以与 sublime 处理 .ts 相同的方式在控制台中显示输出python。知道 TypeScript 是一种编译语言,我该如何做到这一点?编译型语言意味着它会先编译 (.ts) 文件并将其转换为 Javascript (.js) 文件,然后再执行 JavaScript 文件。

我尝试从 sublime 包安装程序安装 TypeScript 插件,但它需要一定的架构来运行文件,如此处所述。此外,这个问题没有帮助,因为它显示了如何在保存后进行构建,并且没有说明有关运行独立文件的任何内容。

sublimetext sublimetext2 typescript sublimetext3

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

treemap() 在 plotly.express 中得到了一个意外的关键字参数“路径”

statewise_cases["Country"] = "Country"
print(statewise_cases)
fig = px.treemap(statewise_cases, path = ['Country', 'State'], values='Deaths')
fig.show()
Run Code Online (Sandbox Code Playgroud)

python plotly

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

使用pip install,pip list等时出现不同的错误消息

当我尝试做的时候我试图解决另一个问题在做了 pip uninstall scikit-learn 之后我收到了红色文本,例如:

pip install --upgrade pip
    Error checking for conflicts.
    Traceback (most recent call last):
          File "c:\users\james\appdata\local\programs\python\python37\lib\site-packages\
        pip\_vendor\pkg_resources\__init__.py", line 2584, in version
            return self._version
          File "c:\users\james\appdata\local\programs\python\python37\lib\site-packages\
        pip\_vendor\pkg_resources\__init__.py", line 2691, in __getattr__
            raise AttributeError(attr)
        AttributeError: _version

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "c:\users\james\appdata\local\programs\python\python37\lib\site-packages\
    pip\_internal\commands\install.py", line 503, in _warn_about_conflicts
        package_set, _dep_info = check_install_conflicts(to_install)
      File "c:\users\james\appdata\local\programs\python\python37\lib\site-packages\
    pip\_internal\operations\check.py", line 108, in check_install_conflicts
        package_set, _ = create_package_set_from_installed()
      File "c:\users\james\appdata\local\programs\python\python37\lib\site-packages\
    pip\_internal\operations\check.py", line 47, in …
Run Code Online (Sandbox Code Playgroud)

python pip scikit-learn

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

“in”运算符未按预期工作?(python)

当我了解运算符概念时,我是 python 的初学者。我被困。有人可以帮我吗??为什么 in 运算符不返回 true?

list1 = [1,2,3]
list2 = [1,2,3,4,5] 
print(list1 in list2)`
Run Code Online (Sandbox Code Playgroud)

相反,它返回 false。

list1 = [1,2,3]
list2 = [1,2,3] 
print(list1 in list2)`
Run Code Online (Sandbox Code Playgroud)

在这两种情况下都返回 false。

python list operators

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

librosa ParameterError:音频缓冲区并非处处有限(切割 wav 文件)

我正在训练一个名为 DeWave ( https://github.com/chaodengusc/DeWave )的 Python 音频源分离模型包。它在单通道 .wav 文件上进行了训练。训练模型后,我对 .wav 样本进行了推理(以分离单声道音频测试文件中的两个扬声器源)。这工作正常,除非我剪切 .wav 文件,在这种情况下,我从 librosa 收到一个错误,指出音频缓冲区在任何地方都不是有限的。

我尝试对不同的音频文件进行推理,只有在使用外部软件剪切 .wav 文件时才会出现错误(我尝试使用 sox 和 Zamzar 进行剪切)。我成功推断的音频文件具有所有不同的长度,并且不是给定长度的倍数,所以我不认为这是长度问题。我想知道文件切割是否会擦除缓冲区,但我一般不熟悉缓冲区,因此对于如何解决此问题的任何见解都将不胜感激。

用 librosa 编写的主要代码是来自https://github.com/chaodengusc/DeWave/blob/master/DeWave/infer.py 的这些行

## restore the original audio
len1 = len(out_audio1) // 3
len2 = len(out_audio2) // 3
source1 = out_audio1[len1:2*len1]
source2 = out_audio2[len2:2*len2]
librosa.output.write_wav(input_file[0:-4]+"_source1.wav", source1, SAMPLING_RATE)
librosa.output.write_wav(input_file[0:-4]+"_source2.wav", source2, SAMPLING_RATE)
return [(source1, SAMPLING_RATE), (source2, SAMPLING_RATE)]
Run Code Online (Sandbox Code Playgroud)

预期的输出将是两个长度相同的独立 .wav 文件,每个文件中有一个扬声器,另一个扬声器正在说话时静音。但是,我收到此错误:

Traceback (most recent call last):
  File "/home/<me>/anaconda3/bin/dewave-infer", line 11, in <module>
    sys.exit(infer())
  File "/home/<me>/anaconda3/lib/python3.6/site-packages/DeWave/cmdinfer.py", line …
Run Code Online (Sandbox Code Playgroud)

python wav librosa

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

如何从具有透明背景的图像中制作二值蒙版?

我有一个基本的 OpenCV 问题。我有一个具有透明背景的图像,我想创建该图像的二元蒙版,其中透明区域为黑色,对象为白色。您能否指导我如何开始这项任务或分享一个代码片段,这将非常有帮助。图像是:

透明背景图像

我想要实现的是二元蒙版,透明区域为黑色,物体为白色。IE

图像的二值掩模

提前致谢!

python opencv image image-processing image-segmentation

-1
推荐指数
1
解决办法
3674
查看次数