擅长:python、mysql、java
<p>请注意,您可以使用<code>np.unique</code>立即获得uniques的计数(这已经完成了您的一个目标)。在</p>
<pre><code>df= df.fillna('NA')
cols = ["Req_1","Req_2","Req_3","Req_4"]
u = pd.unique(df[cols].values.ravel("K"))
s = np.unique(df[cols].values.ravel("K"), return_counts=True)
df2 = pd.DataFrame({'colors': u}).fillna('N/A')
df2['freq'] = df2.colors.map(dict(zip(*s)))
df2['n'] = [df[(df[cols] == v).sum(1) >=1].No_of_Filings.sum() for v in df2.colors]
colors freq n
0 Blue 3 9
1 Black 3 11
2 Red 3 9
3 Yellow 2 7
4 Brown 3 10
5 White 3 9
6 Green 3 11
7 Violet 1 3
8 N/A 2 0
9 Orange 1 4
</code></pre>