我有一个pandas.core.groupby.DataFrameGroupBy
对象,iter_gb包含客户行程。样本数据看起来像。行程之后它包含6列,这些列并不重要。
Customer_id YEAR Itinerary A1, B1, ...
38915672 2015 B12345
38915672 2012 B12345
38915672 2012 B25431
38915672 2012 B25431
38915672 2012 B25431
38915672 2012 B25431
38915672 2012 B25431
38915672 2012 B36789
38915672 2012 B36789
38915672 2012 B36789
38915672 2012 B36789
38915672 2012 B36789
38915672 2012 B86451
38915672 2012 B86451
38915672 2012 B86451
38915672 2012 B86451
38915672 2011 B86451
我想以相反的顺序使用for loop
阅读此内容。
例如for循环将从最后一行开始存储数据框中的B86451
的所有行&然后
B36789
&等等。
如何在python 3.x中执行此操作?
答案 0 :(得分:1)
您似乎需要先反转DataFrame
然后循环:
for i, x in df[::-1].groupby('Itinerary', sort=False):
print (x)
Customer_id YEAR Itinerary
16 38915672 2011 B86451
15 38915672 2012 B86451
14 38915672 2012 B86451
13 38915672 2012 B86451
12 38915672 2012 B86451
Customer_id YEAR Itinerary
11 38915672 2012 B36789
10 38915672 2012 B36789
9 38915672 2012 B36789
8 38915672 2012 B36789
7 38915672 2012 B36789
Customer_id YEAR Itinerary
6 38915672 2012 B25431
5 38915672 2012 B25431
4 38915672 2012 B25431
3 38915672 2012 B25431
2 38915672 2012 B25431
Customer_id YEAR Itinerary
1 38915672 2012 B12345
0 38915672 2015 B12345