title: Find if there are duplicated values across each row
body: <p>For some reason, I cant think of the best solution for this problem. I am looking for a solution that does not involve iterating.</p>
  <p>Lets say we have the following df:</p>
  <pre><code>df = pd.DataFrame([[3,5,6,2,3],[3,5,7,3,5],[5,5,3,5,4],[2,3,4,5,6]])
  
      0   1   2   3   4
  0   3   5   6   2   3
  1   3   5   7   3   5
  2   5   5   3   5   4
  3   2   3   4   5   6
  </code></pre>
  <p>What would be the best way to find the rows with no duplicate numbers. Only the last row satisfies the requirement. I have come up with the solution below, but I feel like I am missing a more obvious answer.</p>
  <pre><code>df.rank(axis=1,method='dense').eq(len(df.columns)).any(axis=1)
  
  0    False
  1    False
  2    False
  3     True
  dtype: bool
  </code></pre>
  <p>Is there a way to find duplicates across rows a better way?</p>
  <p>As a bonus, what would be the best way to make a list that shows the numbers that were duplicated.</p>
  <p>My solution works, but I feel like I am forgetting a much better way:</p>
  <pre><code>df.apply(lambda x: x.value_counts().loc[x.value_counts().gt(1)].index.tolist(),axis=1)
  
      0   1   2   3   4   dups
  0   3   5   6   2   3   [3]
  1   3   5   7   3   5   [3, 5]
  2   5   5   3   5   4   [5]
  3   2   3   4   5   6   []
  </code></pre>