繁体   English   中英

根据字符串列表过滤大熊猫中的数据框

[英]Filtering dataframe in pandas based on a list of strings

我最近开始研究熊猫,我正尝试从ector.py导入水果列表,并将其用作过滤器以生成仅显示列表中水果的项目表。 我没有得到想要的输出,我的代码有问题吗?

在扇区.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

GroupBy对象上应用isin没有任何意义。 你可以在你的索引使用布尔索引GroupBy对象:

Fruits = pdextract[pdextract.index.isin(sector.Fruits)]

您还可以 GroupBy操作之前对系列进行过滤:

pdextract = pdmart.loc[pdmart['item'].isin(sector.Fruits)]\
                  .groupby('item')['price'].sum()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM