如何摆脱Python中数组列表中每个数组的零?

时间:2015-12-14 23:39:14

标签: python arrays

我正在尝试对宾夕法尼亚州的所有水力压裂井进行时间序列数据分析,当然其中很多都是干井,产量为0。我想在列表中创建每个数组的直方图,而不是零,因此每个数组的总长度会缩小一点

P = [data3P, data4P, data5P, data6P, data7P, data8P, data9P, data10P]
for i in P 
N = []
for i in data3P:
if i >0:
    N.append(i)
N

我想我应该在for循环中执行它,但是不知道如何为列表中的所有数组执行此操作。我应该使用双循环吗?

2 个答案:

答案 0 :(得分:0)

如果您正在处理大量数据,那么numpy就是您的朋友。您可以创建一个蒙版数组(掩盖零的位置),并应用常规直方图函数,请参阅this answer作为示例。

答案 1 :(得分:0)

我不是100%确定这是否是您所需要的,但如果您想收集所有NumPy数组datanP但没有任何可能包含的零,您可以这样做:

[a[a!=0] for a in P]

如果您展示了其中一个输入数组的样子,以及您希望从您尝试执行的处理中获得什么,这将有所帮助。