小编Gui*_*ume的帖子

如何使用 matplotlib 在现有图上绘制浮动饼图

我想使用绝对坐标在现有图上绘制多个饼图。

我经历了 add_axes 方法和AxesGrid 工具,但找不到解决方案。

更具体地说,我想使用底图模块在地理地图上绘制饼图。

python matplotlib

5
推荐指数
0
解决办法
2078
查看次数

在Python/Numpy/Pandas中查找连续值块的开始和停止

我想在numpy数组中找到相同值的块的起始和停止索引,或者最好是pandas DataFrame(沿着列的列为2D数组,沿着最快速变化的索引为 - 维数组).我只在单个维度上查找块,并且不希望在不同的行上聚集nans.

从那个问题开始(在numpy数组中查找满足条件的大量连续值),我编写了以下解决方案,为2D数组寻找np.nan:

import numpy as np
a = np.array([
        [1, np.nan, np.nan, 2],
        [np.nan, 1, np.nan, 3], 
        [np.nan, np.nan, np.nan, np.nan]
    ])

nan_mask = np.isnan(a)
start_nans_mask = np.hstack((np.resize(nan_mask[:,0],(a.shape[0],1)),
                             np.logical_and(np.logical_not(nan_mask[:,:-1]), nan_mask[:,1:])
                             ))
stop_nans_mask = np.hstack((np.logical_and(nan_mask[:,:-1], np.logical_not(nan_mask[:,1:])),
                            np.resize(nan_mask[:,-1], (a.shape[0],1))
                            ))

start_row_idx,start_col_idx = np.where(start_nans_mask)
stop_row_idx,stop_col_idx = np.where(stop_nans_mask)
Run Code Online (Sandbox Code Playgroud)

这让我举例说明在应用pd.fillna之前分析缺失值的补丁长度的分布.

stop_col_idx - start_col_idx + 1
array([2, 1, 1, 4], dtype=int64)
Run Code Online (Sandbox Code Playgroud)

还有一个例子和期待的结果:

a = np.array([
        [1, np.nan, np.nan, 2],
        [np.nan, 1, np.nan, np.nan], 
        [np.nan, np.nan, np.nan, np.nan]
    ])

array([2, 1, 2, …
Run Code Online (Sandbox Code Playgroud)

python numpy pandas

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

标签 统计

python ×2

matplotlib ×1

numpy ×1

pandas ×1