小编use*_*827的帖子

使用colormaps和matplotlib循环仪

我想使用matplotlib循环仪和可调色板的颜色.

cycler看起来像这样:

from cycler import cycler
plt.rc('axes', prop_cycle=(cycler('color', ['r', 'g', 'b', 'y']) +
                           cycler('linestyle', ['-', '--', ':', '-.'])))
Run Code Online (Sandbox Code Playgroud)

如何使用从palettable获得的颜色映射替换上面的颜色列表?

import palettable
cmap = palettable.colorbrewer.diverging.PRGn_11.mpl_colormap
Run Code Online (Sandbox Code Playgroud)

对于答案,使用palettable并不重要,但了解如何使用colormap非常重要.

python matplotlib

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

使用python修复拐点估计

我正在尝试使用python查找曲线上的拐点。曲线的数据在此处:https : //www.dropbox.com/s/rig8frgewde8i5n/fitted.txt?dl=0。请注意,曲线已拟合到原始数据。原始数据可在此处获取:https//www.dropbox.com/s/1lskykdi1ia1lu7/ww.txt?dl = 0

import numpy as np
# Read in array from text file
arr = np.loadtxt(path_to_file)

inflexion_point_1 = np.diff(arr).argmin()
inflexion_point_2 = np.diff(arr).argmax()
Run Code Online (Sandbox Code Playgroud)

这两个拐点在附图中显示为红线。但是,它们的位置似乎不正确。第一个拐点应靠近黑色箭头指示的区域。我该如何解决?

在此处输入图片说明

另外,这是差分的图:

plt.axvline(np.gradient(arr[:365]).argmax())
Run Code Online (Sandbox Code Playgroud)

如您所见,代码的行为与编码相同,即找到了数组np.diff的argmax。但是,我想找到一个接近第110天的位置,即距argmax大约一半的位置。

在此处输入图片说明

- 编辑 -

另外,这是另一个显示原始数据和拟合曲线的曲线图(使用二次函数)。

在此处输入图片说明

python numpy scipy

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

在swarmplot覆盖的seaborn boxplot中避免重复的传说

在此输入图像描述

在下面的基于seaborn的图中,我正在制作一个由群体图覆盖的箱形图.两者都是色调的子集.有什么方法我不能让它们在传说中重复两次吗?

ax = sns.boxplot(x=name_xaxis, y=name_col, hue=hue, data=frame, palette='Set2', linewidth=1.5, width=0.5)
sns.swarmplot(x=name_xaxis, y=name_col, hue=hue, data=frame, palette='Set2', color='.25', split=True)
Run Code Online (Sandbox Code Playgroud)

python matplotlib seaborn

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

functools中lru缓存的用法

我想在我的代码中使用lru_cache,但是,我收到此错误:

NameError: name 'lru_cache' is not defined
Run Code Online (Sandbox Code Playgroud)

我的代码中有一个导入functools,但这没有帮助

示例代码在这里:

https://docs.python.org/3/library/functools.html

@lru_cache(maxsize=None)
def fib(n):
    if n < 2:
        return n
    return fib(n-1) + fib(n-2)
Run Code Online (Sandbox Code Playgroud)

python lru functools

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

在python中以特定格式获取日期

我如何在foll中获取日期.python中的格式:

2016-04-26T19:50:48Z
Run Code Online (Sandbox Code Playgroud)

我这样做:

import datetime

now = datetime.now()
now.strftime("%Y %m %d %H:%M")
Run Code Online (Sandbox Code Playgroud)

python

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

基于正则表达式分割Python列表

我有以下 python 列表:

['chhattisgarh_2015_aa.csv', 'chhattisgarh_2016_aa.csv', 'daman_and_diu_2000_aa.csv', 'daman_and_diu_2001_aa.csv', 'daman_and_diu_2002_aa.csv']
Run Code Online (Sandbox Code Playgroud)

如何将其分成 2 个列表:

['chhattisgarh_2015_aa.csv', 'chhattisgarh_2016_aa.csv'] and ['daman_and_diu_2000_aa.csv', 'daman_and_diu_2001_aa.csv', 'daman_and_diu_2002_aa.csv']
Run Code Online (Sandbox Code Playgroud)

该列表根据年份(即 2000 年)之前的单词进行划分...

我知道我应该在 python 中使用正则表达式,但不知道该怎么做。此外,该解决方案需要可扩展,并且不依赖于实际名称,例如 chattisgarh

python regex

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

将pandas剪切操作转换为常规字符串

我得到了foll.大熊猫切割操作的输出:

0        (0, 20]
1        (0, 20]
2        (0, 20]
3        (0, 20]
4        (0, 20]
5        (0, 20]
6        (0, 20]
7        (0, 20]
8        (0, 20]
9        (0, 20]
Run Code Online (Sandbox Code Playgroud)

如何将(0,20)转换为0-20?

我这样做:

.str.replace('(', '').str.replace(']', '').str.replace(',', ' -')
Run Code Online (Sandbox Code Playgroud)

有更好的方法吗?

python pandas

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

根据条件创建新的numpy数组

我有2个numpy数组:

aa = np.random.rand(5,5)
bb = np.random.rand(5,5)
Run Code Online (Sandbox Code Playgroud)

当aa和bb都超过0.5时,如何创建一个值为1的新数组?

python performance numpy vectorization

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

从 netCDF 维度中减去值

如何使用 nco 工具或任何其他 netcdf 工具包从 netCDF 中的某个维度中减去特定值?

\n\n

例如

\n\n
ncdump \xe2\x80\x93v time \xe2\x80\x93t file.nc\n
Run Code Online (Sandbox Code Playgroud)\n\n

给我:

\n\n
time = 10, 11, 12, 13 \xe2\x80\xa6\n
Run Code Online (Sandbox Code Playgroud)\n\n

如何从时间维度中的每个值中减去 10,以便最终结果为:

\n\n
time = 0, 1, 2, 3 \xe2\x80\xa6\n
Run Code Online (Sandbox Code Playgroud)\n

python netcdf nco

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

将大型数据帧拆分为较小的pandas数据帧列表

我有一个如下所示的数据框:

    y  gdp  cap
0   1    2    5
1   2    3    9
2   8    7    2
3   3    4    7
4   6    7    7
Run Code Online (Sandbox Code Playgroud)

有没有办法我可以把它分成一个pandas数据帧列表,每个数据帧有1行和相同的标题,这个数据帧大?我可以循环它,但是有更多的pythonic soln吗?

用例是:

with Pool(processes=5) as p:
    p.starmap(parallel_func, list(single_row_of_dataframe))
Run Code Online (Sandbox Code Playgroud)

python pandas

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

标签 统计

python ×10

matplotlib ×2

numpy ×2

pandas ×2

functools ×1

lru ×1

nco ×1

netcdf ×1

performance ×1

regex ×1

scipy ×1

seaborn ×1

vectorization ×1