草庐IT

groupby-apply

全部标签

python - pandas - groupby 和过滤连续值

我有这个数据框df:U,Datetime01,2015-01-0120:00:0001,2015-02-0120:05:0001,2015-04-0121:00:0001,2015-05-0122:00:0001,2015-07-0122:05:0002,2015-08-0120:00:0002,2015-09-0121:00:0002,2014-01-0123:00:0002,2014-02-0122:05:0002,2015-01-0120:00:0002,2014-03-0121:00:0003,2015-10-0120:00:0003,2015-11-0121:00:0003,

python - Dask DataFrame Groupby 分区

我有一些相当大的csv文件(~10gb),想利用dask进行分析。但是,根据我设置要读入的dask对象的分区数,我的groupby结果会发生变化。我的理解是dask利用分区来获得核外处理的好处,但它仍会返回适当的groupby输出。情况似乎并非如此,我正在努力找出需要哪些替代设置。下面是一个小例子:df=pd.DataFrame({'A':np.arange(100),'B':np.random.randn(100),'C':np.random.randn(100),'Grp1':np.repeat([1,2],50),'Grp2':[3,4,5,6],25)})test_dd1=dd

python - 如何在 pandas groupby 中创建具有重复键的组?

这个问题在这里已经有了答案:HowtogroupbyconsecutivevaluesinpandasDataFrame(4个答案)关闭4年前。我想做的是根据最后一列(键)创建组,例如在第一组中我得到第1行。对于第二组我得到第1行和第2行。在第3组中我得到获取最后两行。我尝试使用pandasgroupby方法来做到这一点,grouped=df1.groupby('Key')但正如预期的那样,它只返回2个组。df1=pd.DataFrame({'A':['A0','A1','A2','A3','A4'],...:'B':['B0','B1','B2','B3','B4'],...:'C'

python - Groupby 聚合方法总是返回 NaN

您好,我遇到了这个问题,我的数据源事件如下所示:event_iddevice_idtimestamplongitudelatitude01291826879480171752016-05-0100:55:25121.3831.2412-64016431454151547442016-05-0100:54:12103.6530.9723-48339820969414027212016-05-0100:08:05106.6029.7我正在尝试按device_id对事件进行分组,然后获取具有该device_id的每个事件的变量的总和/平均值/标准差:events['latitude_mean

An exception occurred applying plugin request [id: ‘com.android.application‘]配置jdk11(保姆级图文)

步骤系列文章报错信息报错分析方法1:修改项目的gradle构建jdk(建议在使用别人的单个项目时使用)方法2:修改所有项目的gradle构建jdk(自己的项目使用,全局项目应用)总结系列文章提示:转到安卓学习专栏,观看更多内容!点我直达–>安卓学习专栏报错信息Anexceptionoccurredapplyingpluginrequest[id:‘com.android.application’]Failedtoapplyplugin‘com.android.internal.application’.AndroidGradlepluginrequiresJava11torun.Youarec

python - 被 GradientBoostingClassifier 的 apply 函数搞糊涂了

应用功能可以引用here我的困惑更多来自thissample,我在下面的代码片段中添加了一些打印以输出更多调试信息,grd=GradientBoostingClassifier(n_estimators=n_estimator)grd_enc=OneHotEncoder()grd_lm=LogisticRegression()grd.fit(X_train,y_train)test_var=grd.apply(X_train)[:,:,0]print"test_var.shape",test_var.shapeprint"test_var",test_vargrd_enc.fit(gr

python - pandas groupby 偏移不同的开始

我有一个简单的抵消问题,我似乎无法在之前的其他帖子中找到答案。我正在尝试按周分组,但默认的df.groupby(pd.TimeGrouper('1W'))给我从周日开始的分组。例如,我希望这个groupby在星期二开始。我试图天真地添加pd.DateOffset(days=2)作为附加参数,但这似乎不起作用。 最佳答案 偏移量字符串可以包含指定句点类型何时开始的组件。在您的情况下,您需要W-Tuedf.groupby(pd.TimeGrouper('W-Tue')) 关于python-p

python - 有没有更好/更有效的方法来做到这一点(矢量化)? Pandas apply 性能非常慢

所以在R中,我会为此使用优化的应用函数,但我现在读到Panda的应用函数是一个抽象循环,甚至可能比一个循环更慢,这在性能上有所体现。在我的机器上,处理60k行需要30分钟。所以本质上,我希望根据具有不同组的数据集来计算移动平均值,我需要在这些数据集上计算移动平均值。有很多这样的团体。所以我基本上首先必须在行/单元格的基础上对数据集进行子集化,然后才计算移动平均值。所以我正在尝试为此提出一个矢量化解决方案,但似乎无法弄清楚您将如何在矢量化方法中对数据框进行子集化。我目前的解决方案使用了一个非常容易理解和维护的应用函数:df['SMA']=df.apply(SMA,axis=1)defSM

python - 填写 groupby 的缺失日期

假设我有一个如下所示的数据框:IDDATEVALUE131-01-20065128-02-20065131-05-200610130-06-200611231-01-20065231-02-20065231-03-20065231-04-20065如您所见,这是面板数据,其中包含同一日期不同ID的多个条目。我想要做的是为每个ID填写缺失的日期。您可以看到对于ID“1”,第二个和第三个条目之间的月份有跳跃。我想要一个如下所示的数据框:IDDATEVALUE131-01-20065128-02-20065131-03-2006NA130-04-2006NA131-05-200610130-

python - 如何从 GroupBy.apply() 中删除多索引?

基于thisquestion.df=pandas.DataFrame([[2001,"Jack",77],[2005,"Jack",44],[2001,"Jill",93]],columns=['Year','Name','Value'])YearNameValue02001Jack7712005Jack4422001Jill93ForeachuniqueName,IwouldliketokeeptherowwiththelargestYearvalue.IntheaboveexampleIwouldliketogetthetableYearNameValue02005Jack4412