我有一个df [n,f],例如,n行x 35个特征。每行中所有要素的总和为= 1.0。我试图通过将不超过某个最小平均值的所有特征分组到一个类别"所有其他特征来创建堆积条形图。"我试图用一个面具来完成这个。例如,如果我设置了5%的阈值:
[In]
mask = (df.sum(axis = 0) > num_selected * 0.05).values
mask
[Out]
array([False, False, True, True, False, False, False, False, False,
False, False, True, False, False, False, False, False, False,
True, True, False, False, False, False, True, False, False,
False, False, False, False, False, False, False, False], dtype=bool)
我的问题是:给定这个面具,我如何将所有不符合标准的功能(例如,' false')分组到"所有其他"并用它来创建一个堆积的条形图与其他所有' True'特征?
答案 0 :(得分:1)
由于您使用的是NumPy ndarray,您可以使用花哨的索引方法,即
import numpy as np
df = np.random.randint(0,100,size=(10,35))
mask = df.sum(axis=0) > 500
trueFeatures = df[:,~mask]
allOthers = df[:,mask]
print mask
print trueFeatures
print allOthers
给出以下输出:
[ True False True True True False False True False False False False
False True True False False False True True False True False True
True False True True False False True True True True True]
[[39 52 37 70 50 43 94 13 88 2 20 52 26 0 31 38]
[40 25 9 26 64 34 22 35 0 28 15 60 49 58 74 99]
[84 24 4 46 26 42 60 39 54 46 85 87 37 72 22 54]
[59 34 47 29 20 91 11 36 39 43 72 76 46 47 51 36]
[38 82 30 39 54 21 19 35 61 80 69 38 25 97 36 77]
[15 50 43 3 1 3 75 36 1 40 46 19 61 24 40 34]
[47 92 70 23 37 1 3 95 34 93 10 23 11 14 68 2]
[70 2 60 94 63 92 34 6 15 71 2 30 82 59 63 5]
[94 33 77 86 12 4 69 9 31 42 30 23 35 17 8 5]
[ 4 75 19 73 27 79 87 69 59 55 54 71 31 50 54 86]]
[[83 11 19 58 20 41 71 36 73 91 91 30 60 48 83 30 78 27 86]
[46 67 81 62 75 88 71 33 23 71 79 52 18 33 72 89 54 50 99]
[80 4 59 82 45 99 71 38 99 83 36 51 3 88 84 87 69 55 50]
[62 34 53 77 3 79 74 27 77 28 85 82 87 13 96 60 69 13 99]
[90 83 51 10 94 14 31 45 9 98 43 40 66 92 13 3 52 76 55]
[99 73 50 97 41 34 90 63 97 73 58 14 92 25 94 43 74 71 65]
[ 8 5 33 86 98 96 81 94 84 65 32 18 47 48 64 17 74 53 68]
[18 84 50 9 61 55 65 72 26 37 24 91 87 81 97 1 36 38 93]
[45 97 96 76 18 5 1 95 32 33 40 86 39 37 41 80 2 74 80]
[64 75 10 63 96 44 44 86 32 99 53 57 91 37 87 91 65 64 62]]
在我对问题的理解中,回答了你的问题:)
答案 1 :(得分:0)
Le Petit Prince""帮我解决了这个问题。将它发布给那些可能想要让它变得更加“pythoneseque”的人。'特别是,我注意到我可能会改进选择列表项的方法。注意df ["资产类型"]是一个用作标签的功能。
JTextField