草庐IT

groupby-apply

全部标签

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 - 如何使用来自多列的参数调用 pandas.rolling.apply?

我有一个数据集:OpenHighLowClose0132.960133.340132.940133.1051133.110133.255132.710132.7552132.755132.985132.640132.7353132.730132.790132.575132.6854132.685132.785132.625132.755我尝试对所有行使用rolling.apply函数,如下所示:df['new_col']=df[['Open']].rolling(2).apply(AccumulativeSwingIndex(df['High'],df['Low'],df['Close

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

python - pandas.groupby 的 group_keys 参数实际上是做什么的?

在pandas.DataFrame.groupby,有一个参数group_keys,我收集它应该做一些与如何将组键包含在数据帧子集中有关的事情。根据文档:group_keys:boolean,defaultTrueWhencallingapply,addgroupkeystoindextoidentifypieces但是,我真的找不到任何group_keys产生实际影响的示例:importpandasaspddf=pd.DataFrame([[0,1,3],[3,1,1],[3,0,0],[2,3,3],[2,1,0]],columns=list('xyz'))gby=df.group

python - Numpy quirk : Apply function to all pairs of two 1D arrays, 获取一个二维数组

假设我有2个一维(1D)numpy数组,a和b,长度为n1和n2分别。我还有一个函数,F(x,y),它接受两个值。现在我想将该函数应用于我的两个1D数组中的每对值,因此结果将是一个形状为n1,n2的2Dnumpy数组。二维数组的i,j元素将是F(a[i],b[j])。如果没有大量的for循环,我无法找到一种方法,而且我确信在numpy中有一种更简单(而且更快!)的方法。提前致谢! 最佳答案 您可以使用numpybroadcasting对两个数组进行计算,使用newaxis将a转换为垂直二维数组:In[11]:a=np.array([