擅长:python、mysql、java
<p>可以使用<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.core.groupby.GroupBy.cumcount.html" rel="nofollow noreferrer">^{<cd1>}</a>查找第二次出现的所有索引:</p>
<pre><code>mask = df.groupby(['user', 'date']).cumcount() == 1
idx = mask[mask].index
print (idx)
Int64Index([40, 200, 240, 440], dtype='int64')
</code></pre>
<pre><code>for line in df.itertuples():
print (line.user)
print (line.date)
if line.Index in idx:
print ('second occurrence')
User001
2014-11-01
User001
2014-11-01
second occurrence
User001
2014-11-01
User001
2014-11-08
User001
2014-11-08
second occurrence
User001
2014-11-08
User001
2014-11-15
User001
2014-11-15
second occurrence
User001
2014-11-15
User001
2014-11-22
User001
2014-11-22
second occurrence
User001
2014-11-22
</code></pre>
<p>查找索引的另一个解决方案是:</p>
<pre><code>idx = df[df.duplicated(['user', 'date']) &
df.duplicated(['user', 'date'], keep='last')].index
print (idx)
Int64Index([40, 200, 240, 440], dtype='int64')
</code></pre>