我最近开始研究熊猫,我正尝试从ector.py导入水果列表,并将其用作过滤器以生成仅显示列表中水果的项目表。我没有得到想要的输出,我的代码有问题吗?
在ector.py内
Fruits=['Apple','Orange','Pineapples']
在Calculator.py之内
import sector
import pandas as pd
pdmart = pd.read_csv('supermarket.csv')
pdextract = pdmart.groupby('item')['price'].sum()
Fruits = pdextract[pdextract.isin(sector.Fruits)]
print Fruits
当前输出:
Series([], Name: price, dtype: float64)
所需的输出:
Item Price
Apple 12.0
Orange 7.0
Pineapples 15.0
答案 0 :(得分:2)
在isin
对象上应用GroupBy
没有任何意义。您可以在GroupBy
对象的 index 上使用布尔索引:
Fruits = pdextract[pdextract.index.isin(sector.Fruits)]
您还可以过滤GroupBy
操作之前的一系列 :
pdextract = pdmart.loc[pdmart['item'].isin(sector.Fruits)]\
.groupby('item')['price'].sum()