草庐IT

GroupBy1

全部标签

python - 如何计算 pandas groupby 中的所有正值和负值?

假设我们有一张表:df=pd.DataFrame({'A':['foo','bar','foo','bar','foo','bar','foo','foo'],'B':['one','one','two','three','two','two','one','three'],'C':np.random.randn(8),'D':np.random.randn(8)})输出:ABCD0fooone-1.3040260.2370451barone0.030488-0.6729312footwo0.530976-0.6695593barthree-0.004624-1.6040394foot

python - Pandas - groupby 具有另一列条件的列

关于如何根据条件对多个列值进行分组,我正在与pandas作斗争:这是我的数据作为pandas数据框的样子:idtriggertimestamp1started2017-10-0114:00:11ended2017-10-0412:00:12started2017-10-0210:00:11started2017-10-0311:00:12ended2017-10-0412:00:12started2017-10-0515:00:11ended2017-10-0516:00:12ended2017-10-0517:00:1我的目标是找出按id分组的日期之间的天/小时或分钟差异。我的输出应

python - Pandas groupby 结果分为多列

我有一个数据框,我希望在其中对组内的值进行分组,然后将其划分为多个列。例如:假设我有以下数据框:>>>importpandasaspd>>>importnumpyasnp>>>df=pd.DataFrame()>>>df['Group']=['A','C','B','A','C','C']>>>df['ID']=[1,2,3,4,5,6]>>>df['Value']=np.random.randint(1,100,6)>>>dfGroupIDValue0A1661C222B3983A4904C5855C638>>>我想对“组”字段进行分组,获取“值”字段的总和,并获取新字段,每个字段都

python - 如何在 pandas groupby 中聚合多列

我使用以下输入创建了一个pandas数据框mn:keyAstaten1n2d1d2key1CA100100012key2FL200200024key1CA300300036key1AL400400048key2FL500500052key1NY600600064key2CA700700076创建了一个sum对象如下:s=mn.groupby(['keyA','state'],as_index=False).sum()如何迭代总和对象s,以便获得以下输出:下面结果中的v1列计算为s['n1']/s['d1']下面结果中的v2列计算为s['n2']/s['d2']keyAstatev1v2

python - 如何在 DataFrame 的 groupby 中增加行数

我需要计算pandasDataFrame中每个产品的activity_months数。到目前为止,这是我的数据和代码:frompandasimportDataFramefromdatetimeimportdatetimedata=[('product_a','08/31/2013'),('product_b','08/31/2013'),('product_c','08/31/2013'),('product_a','09/30/2013'),('product_b','09/30/2013'),('product_c','09/30/2013'),('product_a','10/3

python - Pandas.groupby.apply() 内存泄漏?

我目前正在将Pandas用于一个csv源文件约为600mb的项目。在分析过程中,我正在将csv读入数据框,在某些列上分组并将一个简单的函数应用于分组的数据框。我注意到我在这个过程中进入了交换内存,所以进行了一个基本测试:我首先在shell中创建了一个相当大的数据框:importpandasaspdimportnumpyasnpdf=pd.DataFrame(np.random.randn(3000000,3),index=range(3000000),columns=['a','b','c'])我定义了一个名为do_nothing()的毫无意义的函数:defdo_nothing(gro

python - Pandas groupby 对象过滤

我有一个Pandas数据框df.columnsIndex([u’car_id’,u’color’,u’make’,u’year’)]我想创建一个新的FILTERABLE对象,其中包含每个组(颜色、品牌、年份)的计数;grp=df[[‘color’,’make’,’year’]].groupby([‘color’,’make’,’year’]).size()它会返回这样的东西colormakeyearcountblackhonda2011416我希望能够过滤它,但是当我尝试这样做时:grp.filter(lambdax:x[‘color’]==‘black’)我收到这个错误TypeErr

python - pandas groupby 方法实际上是如何工作的?

所以我试图理解pandas.dataFrame.groupby()函数,我在文档中看到了这个例子:In[1]:df=pd.DataFrame({'A':['foo','bar','foo','bar',...:'foo','bar','foo','foo'],...:'B':['one','one','two','three',...:'two','two','one','three'],...:'C':np.random.randn(8),...:'D':np.random.randn(8)})...:In[2]:dfOut[2]:ABCD0fooone0.469112-0.8618

python - 在 Pandas 中使用 groupby 的 TimeSeries

我想查看Pandas中每个客户端在不同时间段的TimeSeries数据。importpandasaspdimportnumpyasnpimportrandomclients=np.random.randint(1,11,size=100)dates=pd.date_range('20130101',periods=365)OrderDates=random.sample(list(dates),100)Values=np.random.randint(10,250,size=100)df=pd.DataFrame({'Client':clients,'OrderDate':OrderD

python Pandas : groupby one level of MultiIndex but remain other levels instead

假设我有一个DataFrame:importnumpyasnpimportpandasaspddf=pd.DataFrame(np.arange(0,24).reshape((3,8)))df.columns=pd.MultiIndex.from_arrays([['a1','a1','a2','a2','b1','b1','b2','b2'],['4th','5th','4th','5th','4th','5th','4th','5th']])print(df)输出:a1a2b1b24th5th4th5th4th5th4th5th001234567189101112131415216