小编Kha*_*oti的帖子

Scipy Circular Variaance

根据我的理解,循环方差的范围在0到1之间.这也在维基百科 以及这里得到了证实.但由于某些原因,圆形方差函数scipy.stats给出的值大于1.

import numpy as np
from scipy.stats import circmean, circvar

a = np.random.randint(0, high=360, size=10)

print(a)
print(circmean(a, 0, 360))
print(circvar(np.deg2rad(a)))
[143 116 152 172 349 152 182 306 345  81]
135.34974541954665
2.2576538466653857
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我为什么我从函数中获得高于1的值 circvar

python statistics numpy scipy

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

pandas groupby 不保留顺序?

我在 pandas 中有以下数据集:

import pandas as pd

seq = [1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2]
event_no = [5, 5, 5, 6, 6, 6, 4, 4, 4, 3, 3, 3, 1, 1, 1, 2, 2, 2]
points_no = [1, 1, 1, None, None, None, 1, 1, 1, 1, 1, 1, None, None, None, 1, 1, 1]

df = pd.DataFrame({"seq" : seq, "event_no": event_no, "points_no": points_no})

seq event_no    points_no
    0 …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

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

双立方插值Python

我开发了双立方插值,用于使用Python编程语言向一些本科生演示.

该方法如维基百科中所述,代码工作正常,但我得到的结果与使用scipy库时获得的结果略有不同.

插值代码如下所示bicubic_interpolation.

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits import mplot3d
from scipy import interpolate
import sympy as syp
import pandas as pd
pd.options.display.max_colwidth = 200
%matplotlib inline

def bicubic_interpolation(xi, yi, zi, xnew, ynew):

    # check sorting
    if np.any(np.diff(xi) < 0) and np.any(np.diff(yi) < 0) and\
    np.any(np.diff(xnew) < 0) and np.any(np.diff(ynew) < 0):
        raise ValueError('data are not sorted')

    if zi.shape != (xi.size, yi.size):
        raise ValueError('zi is not set properly use np.meshgrid(xi, yi)') …
Run Code Online (Sandbox Code Playgroud)

python interpolation numpy sympy scipy

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

同时运行多个python脚本

有没有办法在 vsc 中同时运行多个 python 脚本。我的意思是虽然已经有一个脚本在运行,但我想运行另一个脚本。当我尝试时,我得到“代码已经在运行”。在 spyder-ide 中,我只需打开一个新的 IPython 控制台并在这个新打开的控制台中运行新脚本。

python spyder visual-studio-code

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

根据数据框中索引名称的一部分求和列值

我有以下数据框,它是 groupby 操作的结果。

Gender          F     M
Grade letter
D            NaN   1.0
D+            7.0  2.0
C-            3.0  2.0
C             3.0  4.0
C+            9.0  12.0
B-            8.0  10.0
B             6.0  3.0
B+            5.0  7.0
A-            7.0  4.0
A             2.0  4.0
A+            1.0 NaN
Run Code Online (Sandbox Code Playgroud)

我想结合像 D、C、B、A 这样的等级字母而忽略后缀 (-, +)。

所需的输出类似于

Gender          F     M
Grade letter
D             7.0   3.0
C             15.0 18.0
B             19.0 20.0
A             10.0 8.0
Run Code Online (Sandbox Code Playgroud)

我尝试了此处提供的解决方案,但它不适合我。

df.groupby(df.index.to_series().str[0]).size().unstack(fill_value=0)
Run Code Online (Sandbox Code Playgroud)

python pandas

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

使用 Windows 命令提示符或 PowerShell 在 Spyder 中运行脚本

我想知道是否有办法使用 windows cmd 或 PowerShell 而不是 IPython 控制台在 spyder-ide 中运行 python 脚本。

Ipython 有时与脚本在 cmd 中运行时的工作方式不同,该脚本专门用于绘制 matplotlib 等包。

我正在使用 Spyder 最新版本。

问候

python spyder

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

numpy或python中的等效matlab函数mod

我正在将一些代码从Matlab转换为Python。

在matlab中,有mod给出模运算的函数。

例如,以下示例显示了matlab mod和等效的numpy remainder操作之间的不同结果:

Matlab:

>> mod(6, 0.05)

ans =

     0
Run Code Online (Sandbox Code Playgroud)

脾气暴躁:

np.remainder(6, 0.05) 
0.04999999999999967

np.mod(6, 0.05)
0.04999999999999967
Run Code Online (Sandbox Code Playgroud)

Python模运算符给出的结果与numpy相同。

6%0.05
0.04999999999999967
Run Code Online (Sandbox Code Playgroud)

python中有什么可以提供与Matlab中相同的mod操作吗?最好可以在numpy2d / 3d阵列上进行操作。

numpy 文档说,这numpy.mod等效于matlab mod

python floating-point matlab numpy

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

在 value_counts pandas 分类数据中包含零

这是我之前提出的问题的后续问题。老问题可以在这里找到,我收到了@jezrael回答

现在我想绘制成绩。

为了绘制我能做的所有成绩

counts_gardes = df1['new'].value_counts(sort=False)
counts_gardes.plot(kind='bar')
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

但是,我无法弄清楚如何绘制每个年级组(包括零计数)。

counts_gardes_group = df1['new'].value_counts(sort=False)
counts_gardes_group.plot(kind='bar')
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我还想F在绘制的数字中包含零计数。我尝试了此处此处此处提供的解决方案,但它们不起作用。第一个返回所有成绩,而后者给出一个错误,指出index没有levels.

非常感谢任何帮助。

python pandas

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

Pytest,如何在C驱动器以外的其他位置制作临时驱动器:Windows

我正在尝试使用pytest在C驱动器以外的驱动器中创建一个临时目录.

根据我的知识创建临时驱动器ac的常规方法如下:

@pytest.fixture
def copy_path_file(qtbot, request, tmpdir):
    """Setup Project widget."""
    directory = request.node.get_marker('change_directory')
    if directory:
        project_dir = to_text_string(tmpdir.mkdir('project'))
    else:
        project_dir = None
Run Code Online (Sandbox Code Playgroud)

使用此方法的临时驱动器是在Windows系统驱动器的驱动器C中创建的,但我想在D中创建一个临时驱动器.

有没有人有pytest的经验?提前致谢.

python pytest

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

提取文本python右侧的数字

假设我在 python 中有一些字符串以某个数字结尾。

2te2xt12
text1
text143
te2xt341
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到最正确的数字序列:

2te2xt12  >>  12
text1     >>  1
text143   >>  143
te2xt341  >>  341
Run Code Online (Sandbox Code Playgroud)

有没有简单易行的方法。

我对 re 一无所知

提前致谢

python

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