擅长:python、mysql、java
<p>使用<a href="http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.set_index.html" rel="nofollow noreferrer">^{<cd1>}</a>作为<code>Code</code>列的索引,然后使用<a href="http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.dot.html" rel="nofollow noreferrer">^{<cd3>}</a>与所有不带<code>Code</code>和分隔符的列进行矩阵乘法,移除分隔符并将序列转换为<code>DataFrame</code>:</p>
<pre><code>df1 = (df.set_index('Code')
.dot(df.columns.drop('Code') + ',')
.str[:-1]
.reset_index(name='BooleanInformation'))
</code></pre>
<p>仅选择布尔列的备选方案:</p>
<pre><code>df1 = (df.set_index('Code')
.dot(df.select_dtypes(bool).columns + ',')
.str[:-1]
.reset_index(name='BooleanInformation'))
</code></pre>
<hr/>
<pre><code> Code BooleanInformation
0 J060
1 J010
2 J030 ColB,Value
3 J111
4 Z290 ColA,ColB
5 B340 Value
6 B340 ColA
7 B340 ColB
</code></pre>