擅长:python、mysql、java
<p>使用<a href="https://docs.python.org/3/tutorial/datastructures.html#dictionaries" rel="nofollow noreferrer">^{<cd1>}</a>反转字典中的键、值对,然后使用<a href="https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.map.html" rel="nofollow noreferrer">^{<cd2>}</a>:</p>
<pre><code>df = pd.DataFrame(val,columns=['val'])
d = {value1:key for key,value in samp.items() for value1 in value}
df['group'] = df.index.map(d)
print(df)
val group
0 10 2
1 23 0
2 45 2
3 31 1
4 78 0
5 43 0
6 1 1
7 67 1
</code></pre>
<hr/>
<pre><code>print(d)
{1: 0, 4: 0, 5: 0, 8: 0, 3: 1, 6: 1, 7: 1, 0: 2, 2: 2}
</code></pre>
<p>如果值是numpy数组呢:</p>
<pre><code>indx = np.array([1,4,5,8])
indx2 = np.array([3,6,7])
indx3 = np.array([0,2])
samp = {}
samp[0] = indx
samp[1] = indx2
samp[2] = indx3
print(samp)
{0: array([1, 4, 5, 8]), 1: array([3, 6, 7]), 2: array([0, 2])}
d = {value1:key for key,value in samp.items() for value1 in value}
print(d)
{1: 0, 4: 0, 5: 0, 8: 0, 3: 1, 6: 1, 7: 1, 0: 2, 2: 2}
</code></pre>