我有这几行代码
for name in clean.alpha_names:
CategoryGroupLists=df_new_housing.groupby(name)['SALE PRICE'].apply(list)
当我运行代码时,CategoryGroupLists包含如下所示的内容;
我想删除FIELDSTON和FINANCIAL的空列表条目。我想我需要在GROUPBY后面加上一个HAVING子句,尽管PANDAS没有HAVING子句。那么我该怎么做呢?
编辑:一个建议是我使用一个过滤器。然而,下面的代码我得到了一个错误;
for name in clean.alpha_names:
CategoryGroupLists=df_new_housing.groupby(name)['SALE PRICE'].filter(lambda x: len(x) > 1).apply(list)
TypeError:“int”对象不可迭代
EDIT 2我现在的解决方法是使用下面的代码。但是我确信有更好的方法来完成它。
# Remove empty lists from the CategoryGroupLists
for idx in (CategoryGroupLists.index):
if len(CategoryGroupLists[idx]) == 0:
del CategoryGroupLists[idx]
1条答案
按热度按时间7ivaypg91#
我认为最好的方法是首先过滤掉没有销售额的名字,然后执行groupby。
例如,假设您有以下** Dataframe **:
我们现在过滤掉没有数据的名称,然后执行groupby。
第一次