python - 如何以相反的顺序在 pandas.core.groupby.DataFrameGroupBy 上使用 for 循环?

标签 python pandas

我有一个 pandas.core.groupby.DataFrameGroupBy 对象,iter_gb 包含客户行程。样本数据看起来像。 Itinerary 之后包含 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 循环 以相反的顺序阅读此内容。

例如 for 循环将从最后一行开始,将 B86451 的所有行存储在数据框中,然后 B36789 等等。

如何在 python 3.x 中做到这一点?

最佳答案

看来你需要先反向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

关于python - 如何以相反的顺序在 pandas.core.groupby.DataFrameGroupBy 上使用 for 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49107912/

相关文章:

php - 编写一个程序来抓取论坛

python - (Python) 类型错误 : 'float' object is not subscriptable

python - Python 中星号后的位置参数

python - 我的 pandas 数据框中有两列。一列有一些相同的值(id),另一列中的相应值有票数

python-3.x - 如何使用 dataframe.ewma 找到指数加权移动平均线?

python - 通过 Python 与 Autocad 的 Win32Com 连接失败

python - Django 。如何连接下拉列表(来自 html)和表单?

python - numpy.histogram2d 在传递子集 pandas.DataFrame 时引发异常

python - Pandas 向前填充 ffill() 直到另一列的条件为 false

python - 根据另一列中的值从一列中减去