Python 3.x For loop to calc desc stats(用于循环计算中子类别列中每个不同值的统计信息)

Python 3.x For loop to calc desc stats(用于循环计算中子类别列中每个不同值的统计信息),python-3.x,pandas,Python 3.x,Pandas,我想计算数据集子类别列中每个不同值的“方差”列的描述性统计数据。我希望使用for循环,而不是手动执行。我得到一个值错误,但不确定我可能缺少什么。谢谢大家! subcategories = ['abc', 'cab', 'bac', 'cde', 'edc', 'fgh', 'ghb'] for i in subcategories: if df[df.Subcategory == i]: print(df['Variance'].describe()) 当我运行代码时

我想计算数据集子类别列中每个不同值的“方差”列的描述性统计数据。我希望使用for循环,而不是手动执行。我得到一个值错误,但不确定我可能缺少什么。谢谢大家!

subcategories = ['abc', 'cab', 'bac', 'cde', 'edc', 'fgh', 'ghb']

for i in subcategories:
    if df[df.Subcategory == i]:
        print(df['Variance'].describe())
当我运行代码时,我得到以下值错误:

ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or 
a.all()

df.Subcategory==i
返回一个布尔序列。if条件不知道如何返回序列。你需要这个:

for i in subcategories:
    print(df.loc[df.Subcategory == i, 'Variance'].describe())