Python 应用groupby后访问DataFrame的元素

Python 应用groupby后访问DataFrame的元素,python,pandas,dataframe,Python,Pandas,Dataframe,为什么应用groupby后无法访问元素? 我怎么做 当我写作时: 数据['item_price'][100], 那么一切都好了:Out[65]:4.45——这是100美元的价格 但在应用groupby后,它不起作用: total_prices = data.groupby('order_id') total_prices['item_price'][100] 这里有一个错误: IndexError Traceback (most r

为什么应用groupby后无法访问元素? 我怎么做

当我写作时:
数据['item_price'][100]
, 那么一切都好了:
Out[65]:4.45
——这是100美元的价格

但在应用groupby后,它不起作用:

total_prices = data.groupby('order_id')
total_prices['item_price'][100]
这里有一个错误:

IndexError                                Traceback (most recent call last)
<ipython-input-66-f810d8e02df9> in <module>
      2 total_prices = data.groupby('order_id')
      3 
----> 4 total_prices['item_price'][100]
      5 

~/anaconda3/lib/python3.7/site-packages/pandas/core/base.py in __getitem__(self, key)
    256         if self._selection is not None:
    257             raise IndexError('Column(s) {selection} already selected'
--> 258                              .format(selection=self._selection))
    259 
    260         if isinstance(key, (list, tuple, ABCSeries, ABCIndexClass,

IndexError: Column(s) item_price already selected
索引器错误回溯(最近一次调用)
在里面
2总价=data.groupby('order\u id')
3.
---->4总价[“项目价格”][100]
5.
~/anaconda3/lib/python3.7/site-packages/pandas/core/base.py in\uuuuu getitem\uuuuu(self,key)
256如果自选择不是无:
257 raise索引器('已选择列{selection}'
-->258.格式(选择=自选择)
259
260如果isinstance(键,(列表、元组、ABC序列、ABS、,
索引器:已选择列项目\价格

但我仍然希望访问该元素。

应用groupby时,原始数据帧的索引不相同。具有相同“order\u id”的所有元素都已分组在一起。因此,当需要特定索引时,可以1)选择组或“order\u id”或2)为每个组选择“item\u price”的索引

  • 要执行第一步,您需要使用
    get\u group
    do

    total_prices['item_prices']。获取_组(5)
    
    然后使用
    iloc
    loc

    total_prices['item_prices'].get_group(5).iloc[10]
    
  • 另一个选项是使用
    take

    total_prices['item_prices']。获取([10])
    
    这将返回每组的“项目价格”10。然后,您可以使用
    iloc
    loc
    获取特定“订单id”的“项目价格”10的值

    total_prices['item_prices'].获取([10])。iloc[5]
    
  • 要查找包含所需元素的组,可以始终使用字典

    total_prices['item_prices'].组
    

    它将每个“订单id”与该“订单id”中分组的“项目价格”元素相关联。

    应用groupby时,原始数据帧的索引不相同。具有相同“order_id”的所有元素已分组在一起。因此,当您需要特定索引时,您可以1)选择组或“订单id”或2)为每个组选择“项目价格”的索引

  • 要执行第一步,您需要使用
    get\u group
    do

    total_prices['item_prices']。获取_组(5)
    
    然后使用
    iloc
    loc

    total_prices['item_prices'].get_group(5).iloc[10]
    
  • 另一个选项是使用
    take

    total_prices['item_prices']。获取([10])
    
    这将返回每组的“项目价格”10。然后,您可以使用
    iloc
    loc
    获取特定“订单id”的“项目价格”10的值

    total_prices['item_prices'].获取([10])。iloc[5]
    
  • 要查找包含所需元素的组,可以始终使用字典

    total_prices['item_prices'].组
    

    它将每个“订单id”与该“订单id”中分组的“项目价格”元素关联起来。

    您能给我们一些样本数据吗?您能给我们一些样本数据吗?