相关疑难解决方法(0)

压扁不规则的列表列表

是的,我知道这个主题已经被覆盖过了(这里,这里,这里,这里),但据我所知,除了一个之外,所有解决方案都在这样的列表中失败:

L = [[[1, 2, 3], [4, 5]], 6]
Run Code Online (Sandbox Code Playgroud)

期望的输出是什么

[1, 2, 3, 4, 5, 6]
Run Code Online (Sandbox Code Playgroud)

或者甚至更好,一个迭代器.我看到的唯一适用于任意嵌套的解决方案可以在这个问题中找到:

def flatten(x):
    result = []
    for el in x:
        if hasattr(el, "__iter__") and not isinstance(el, basestring):
            result.extend(flatten(el))
        else:
            result.append(el)
    return result

flatten(L)
Run Code Online (Sandbox Code Playgroud)

这是最好的型号吗?我忽略了什么吗?任何问题?

python optimization list flatten

412
推荐指数
16
解决办法
12万
查看次数

按列对NumPy中的数组进行排序

如何在第n列中对NumPy中的数组进行排序?

例如,

a = array([[9, 2, 3],
           [4, 5, 6],
           [7, 0, 5]])
Run Code Online (Sandbox Code Playgroud)

我想按第二列对行进行排序,以便我回来:

array([[7, 0, 5],
       [9, 2, 3],
       [4, 5, 6]])
Run Code Online (Sandbox Code Playgroud)

python arrays sorting numpy scipy

295
推荐指数
7
解决办法
27万
查看次数

如何删除包含非数字值的numpy.ndarray中的所有行

基本上,我正在做一些数据分析.我在数据集中读取numpy.ndarray并且缺少一些值(通过不存在,存在NaN或通过写成字符串" NA").

我想清理包含这样的任何条目的所有行.我如何用numpy ndarray做到这一点?

python numpy

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

如何生成等间隔插值

我有一个不均匀间隔的(x,y)值列表.是此问题中使用的存档.

我能够在值之间进行插值,但我得到的不是等间隔插值点.这是我做的:

x_data = [0.613,0.615,0.615,...]
y_data = [5.919,5.349,5.413,...]

# Interpolate values for x and y.
t = np.linspace(0, 1, len(x_data))
t2 = np.linspace(0, 1, 100)
# One-dimensional linear interpolation.
x2 = np.interp(t2, t, x_data)
y2 = np.interp(t2, t, y_data)

# Plot x,y data.
plt.scatter(x_data, y_data, marker='o', color='k', s=40, lw=0.)

# Plot interpolated points.
plt.scatter(x2, y2, marker='o', color='r', s=10, lw=0.5)
Run Code Online (Sandbox Code Playgroud)

结果如下:

在此输入图像描述

可以看出,红点在图的部分中更靠近在一起,其中原始点分布更密集.

我需要一种方法来根据给定的步长值(比如0.1)生成在x,y 中等间隔的插值点


正如askewchan正确指出的那样,当我的意思是" 在x,y 中等间隔 "时,我的意思是曲线中的两个连续插值点应该相互间隔(欧几里得直线距离)相同的值.


我尝试了unubtu的答案,它适用于平滑曲线,但似乎打破了不那么顺利的曲线:

非光滑曲线

这是因为代码,而不是直接在曲线上计算的欧几里德的方式点的距离,我需要的距离曲线上,是点之间是相同的.这个问题可以以某种方式解决吗?

python interpolation numpy scipy

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

标签 统计

python ×4

numpy ×3

scipy ×2

arrays ×1

flatten ×1

interpolation ×1

list ×1

optimization ×1

sorting ×1