我有一个数据帧,每行重复3次。在循环浏览时,如何确定之前是否看到一行,然后在循环中的第二次出现时打印某个内容?你知道吗
print df
user date
0 User001 2014-11-01
40 User001 2014-11-01
80 User001 2014-11-01
120 User001 2014-11-08
200 User001 2014-11-08
160 User001 2014-11-08
280 User001 2014-11-15
240 User001 2014-11-15
320 User001 2014-11-15
400 User001 2014-11-22
440 User001 2014-11-22
360 User001 2014-11-22
... ...... ..........
... ...... ..........
1300 User008 2014-11-22
1341 User008 2014-11-22
1360 User008 2014-11-22
for line in df.itertuples():
user = line[1]
date = line[2]
print user, date
#do something after second occurrence of tuple i.e. 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')
('User008', '2014-11-22')
('User008', '2014-11-22')
second occurrence
('User008', '2014-11-22')
使用
Counter
跟踪我建议使用^{} method 获得一个布尔索引,标识重复的行。你知道吗
根据您希望如何显示副本,您可以以各种方式使用它,但是如果您希望迭代行并为每个副本打印通知,类似的操作可能会起作用:
可以使用^{} 查找第二次出现的所有索引:
查找索引的另一个解决方案是:
相关问题 更多 >
编程相关推荐