草庐IT

groupby-agg

全部标签

python - 具有冗余 nan 类别的 Pandas groupby

我在使用pandasgroupby时遇到问题带有分类数据。从理论上讲,它应该非常高效:您通过整数而不是字符串进行分组和索引。但它坚持认为,当按多个类别进行分组时,每个类别组合都必须考虑在内。即使常见字符串的密度很低,我有时也会使用类别,这仅仅是因为这些字符串很长,而且可以节省内存/提高性能。有时每列中有数千个类别。当按3列分组时,pandas强制我们保存1000^3组的结果。我的问题:有没有一种方便的方法可以将groupby与类别一起使用,同时避免这种不良行为?我不是在寻找这些解决方案中的任何一个:通过numpy重新创建所有功能。在groupby之前不断转换为字符串/代码,稍后恢复为类

python - Groupby 类和计数特征中的缺失值

我有一个问题,我在网络或文档中找不到任何解决方案,即使我认为这很微不足道。我想做什么?我有一个这样的数据框CLASSFEATURE1FEATURE2FEATURE3XANaNNaNXNaNANaNBAAA我想按标签(CLASS)分组并显示每个特征中计算的NaN值的数量,使其看起来像这样。这样做的目的是大致了解缺失值如何分布在不同的类中。CLASSFEATURE1FEATURE2FEATURE3X112B000我知道如何接收nonnull-Values的数量-df.groupby['CLASS'].count()NaN-Values有类似的东西吗?我试图从size()中减去count()

python - 绘制 Pandas DataSeries.GroupBy

我是python和pandas的新手,并且有以下DataFrame。如何绘制DataFrame其中每个ModelID是一个单独的图,saledate是x轴,MeanToDate是y轴?尝试data[40:76].groupby('ModelID').plot()数据帧 最佳答案 您可以通过循环groupby中的组来制作图:importmatplotlib.pyplotaspltfortitle,groupindf.groupby('ModelID'):group.plot(x='saleDate',y='MeanToDate',ti

python - Pandas 使用来自 groupby 的计数创建新列

我有一个如下所示的df:iditemcolor01truckred02truckred03carblack04truckblue05carblack我正在尝试创建一个如下所示的df:itemcolorcounttruckred2truckblue1carblack2我试过了df["count"]=df.groupby("item")["color"].transform('count')但这不是我要寻找的。感谢任何指导 最佳答案 这不是一个新列,这是一个新的DataFrame:In[11]:df.groupby(["item","c

python - Pandas GroupBy 内存释放

问题我注意到在遍历Pandas时分配了内存GroupBy迭代后对象不会被释放。我使用resource.getrusage(resource.RUSAGE_SELF).ru_maxrss(secondanswerinthispostfordetails)来测量Python进程使用的事件内存总量。importresourceimportgcimportpandasaspdimportnumpyasnpi=np.random.choice(list(range(100)),4000)cols=list(range(int(2e4)))df=pd.DataFrame(1,index=i,col

python - groupby.value_counts() 之后的 pandas reset_index

我正在尝试按列分组并计算另一列的值计数。importpandasaspddftest=pd.DataFrame({'A':[1,1,1,1,1,1,1,1,1,2,2,2,2,2],'Amt':[20,20,20,30,30,30,30,40,40,10,10,40,40,40]})print(dftest)dftest看起来像AAmt012011202120313041305130613071408140921010210112401224013240进行分组grouper=dftest.groupby('A')df_grouped=grouper['Amt'].value_coun

使用 Groupby 的 Python Pandas 条件和

使用样本数据:df=pd.DataFrame({'key1':['a','a','b','b','a'],'key2':['one','two','one','two','one'],'data1':np.random.randn(5),'data2':np.random.randn(5)})dfdata1data2key1key200.3616010.375297aone10.0698890.809772atwo21.4681940.272929bone3-1.1384580.865060btwo4-0.2682101.250340aone我正在尝试弄清楚如何按key1对数据进行分组

Python pandas groupby 在多列上聚合,然后旋转

在Python中,我有一个类似于以下内容的pandasDataFrame:Item|shop1|shop2|shop3|Category------------------------------------Shoes|45|50|53|ClothesTV|200|300|250|TechnologyBook|20|17|21|Booksphone|300|350|400|Technology其中shop1、shop2和shop3是不同商店中每件商品的成本。现在,我需要在一些数据清理之后返回一个DataFrame,就像这样:Category(index)|size|sum|mean|s

python - groupby之后,如何展平列标题?

我试图在单个Id列上加入多个pandas数据帧,但是当我尝试合并时收到警告:KeyError:'Id'.我认为这可能是因为我的数据框有由groupby语句产生的偏移列,但我很可能是错的。无论哪种方式,我都无法弄清楚如何“取消堆叠”我的数据框列标题。thisquestion上没有答案似乎有效。我的groupby代码:step1=pd.DataFrame(step3.groupby(['Id','interestingtabsplittest2__grp'])['applications'].sum())step1.sort('applications',ascending=False).

python - GroupBy 结果到列表字典

我有一个看起来像这样的excel表:Column1Column2Column302311521231195256122223243145459154415125873我希望提取该数据,按第1列对其进行分组,然后将其添加到字典中,使其如下所示:{0:[1],1:[2,3,5],2:[1,2],3:[4,5],4:[1],5:[1,2,3]}这是我目前的代码excel=pandas.read_excel(r"e:\test_data.xlsx",sheetname='mySheet',parse_cols'A,C')myTable=excel.groupby("Column1").grou