我必须根据以下col1、col2和loc的数据进行分组,并计算col3中的项数。此外,还应考虑开始和结束日期,即日期应在2021 1月1日至2021 1月31日之间。最终结果应显示在col4中。
数据
Date col1 col2 loc col3
01/01/2021 India Fruits A Mango
04/01/2021 India Fruits A Apple
08/01/2021 India Fruits A Banana
09/01/2021 India Vegetables B Onion
07/01/2021 India Vegetables B Capsicum
02/02/2021 India Vegetables B Tomato
03/01/2021 Germany Fruits C Mango
19/01/2021 Germany Fruits C Apple
28/01/2021 Germany Fruits C Banana
29/01/2021 Germany Vegetables D Onion
07/02/2021 Germany Vegetables D Capsicum
02/01/2021 Germany Vegetables D Tomato
预期输出
Date col1 col2 loc col3 col4
01/01/2021 India Fruits A Mango 3
04/01/2021 India Fruits A Apple 3
08/01/2021 India Fruits A Banana 3
09/01/2021 India Vegetables B Onion 2
07/01/2021 India Vegetables B Capsicum 2
03/01/2021 Germany Fruits C Mango 3
19/01/2021 Germany Fruits C Apple 3
28/01/2021 Germany Fruits C Banana 3
29/01/2021 Germany Vegetables D Onion 2
02/01/2021 Germany Vegetables D Tomato 2
使用系列。介于之间,用于按日期时间过滤,然后按分组。转换:
m = pd.to_datetime(df['Date'], dayfirst=True).between('2021-01-01', '2021-01-31')
df1 = df[m].copy()
df1['col4'] = df1.groupby(['col1','col2','loc'])['col3'].transform('size')
如果需要计数而不删除:
df['col4'] = (df.assign(col3 = df['col3'].where(m))
.groupby(['col1','col2','loc'])['col3']
.transform('count'))
print (df)
问题内容: 我有一个看起来像这样的DataFrame: 我想将其转换为对属于某些bin的视图进行计数,如下所示: 我试过了: 但它仅提供汇总计数,而不提供用户计数。如何获得用户的垃圾箱计数? 总计计数(使用我的真实数据)如下所示: 问题答案: 您可以按垃圾箱 和 用户名分组,计算分组大小,然后使用:
问题内容: 我有一个数据框df,有两列,我想按一列分组并加入属于同一组的列表,例如: 处理后: 我想保留所有重复项。我有以下问题: 数据框的dtype是对象。convert_objects()不会自动将column_b转换为列表。我怎样才能做到这一点? df.groupby(…)。apply(lambda x:…)中的函数适用于什么?x的形式是什么?清单? 我主要问题的解决方案? 提前致谢。 问题
问题内容: 我经常使用pandas groupby生成堆积表。但是然后我经常想将生成的嵌套关系输出到json。有什么方法可以从生成的堆叠表中提取嵌套的json文件吗? 假设我有一个df,例如: 我可以: 美丽!当然,我真正想做的是通过命令沿着grouped.to_json嵌套嵌套的json。但是该功能不可用。任何解决方法? 所以,我真正想要的是这样的: 唐 问题答案: 我认为熊猫没有内置任何东西可
问题内容: 我有一个包含以下信息的数据框: 我想根据索引插入数据帧中的值, 但仅在每个文件组中 。 插值,我通常会做 和我一起做 我希望插入的数据帧看起来像这样: NaN仍然存在于t = 6的位置,因为它们是file2组中的第一项。 我怀疑我需要使用“应用”,但是还无法确切地知道如何… 任何帮助,将不胜感激。 问题答案:
问题内容: 我在csv文件中有这样的数据 我可以像这样阅读和分组 我懂了 我希望这个(顺序无所谓) 我想知道是否有可能算零次 问题答案: 你可以用与: 如果您需要使用输出:
问题内容: 所以我有一个数据框df1,看起来像下面的样子: 我想按A列分组,然后对B列求和,同时将值保留在C列中。 问题是,当我说df.groupby(’A’)。sum()列C被删除时,返回 当我进行分组和求和时,如何解决这个问题并保留C列? 问题答案: 唯一的方法是将C包含在groupby中(groupby函数可以接受列表)。 试试看: 需要注意的另一件事是,如果需要在聚合后使用df,则还可以使