How to select duplicate rows with pandas?
<p>I have a dataframe like this:</p>

<pre><code>import pandas as pd
dic = {'A':[100,200,250,300],
       'B':['ci','ci','po','pa'],
       'C':['s','t','p','w']}
df = pd.DataFrame(dic)
</code></pre>

<p>My goal is to separate the row in 2 dataframes:</p>

<ul>
<li>df1 = contains all the rows that do not repeat values along column <code>B</code> (unque rows).</li>
<li>df2 = containts only the rows who repeat themeselves.</li>
</ul>

<p>The result should look like this:</p>

<pre><code>df1 =      A  B C         df2 =     A  B C
      0  250 po p               0  100 ci s 
      1  300 pa w               1  250 ci t
</code></pre>

<p>Note: </p>

<ul>
<li>the dataframes could be in general very big and have many values that repeat in column B so the answer should be as generic as possible

<ul>
<li>if there are no duplicates, df2 should be empty! all the results should be in df1</li>
</ul></li>
</ul>