Python Groupby迭代E

2024-05-21 15:28:07 发布

您现在位置:Python中文网/ 问答频道 /正文

运行以下代码后出现以下错误:

for names, group in df_group:
    print(str(names))

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'int' object is not iterable

有什么想法吗?你知道吗

df_group的输出(例如)如下

symbol  exchange  price  
AAPL    NASDAQ    154.630     800
                  154.640     641
                  154.650     100
                  154.660     300
                  154.670     400
                  154.675     100
                  154.680     300
                  154.690    1390
                  154.695     100
                  154.700     360
                  154.705     100
                  154.710     671
                  154.720     190
                  154.725     100
                  154.730     400
...
XOM     ARCA  80.67                                                 1300
              80.68                                                 2721
              80.69                                                 1901
              80.7                                                   700
              80.71                                                  800
              80.72                                                  200
              80.73                                                  700
              80.74                                                  500
              80.75                                                  600
              80.76                                                  300
              80.77                                                  900
              80.78                                                  100
              80.79                                                 1000
              80.8                                                  1000
symbol  exch      price    sizesizesizesizesizesizesizesizesizesizesizesi...

我使用以下代码进行分组:

df_group = df.groupby(['symbol','exchange','price'])["size"].sum()

谢谢!!你知道吗


Tags: 代码inmostdfforexchangenames错误
1条回答
网友
1楼 · 发布于 2024-05-21 15:28:07

看起来你在尝试迭代一个系列。如果你只需要这些,这可能会有帮助。你知道吗

for names, group in df_group.iteritems():
    print(names)
    print(group)

此外,如果要查找数据帧对象而不是序列,请使用双方括号。这将返回一个多索引数据帧。使用方法.reset\u index将其转换为常规数据帧。你知道吗

# Multi-Index Dataframe
df_group = df.groupby(['symbol','exchange','price'])[["size"]].sum()
# Regular Dataframe
df_group = df.groupby(['symbol','exchange','price'])[["size"]].sum().reset_index()

相关问题 更多 >