草庐IT

GroupBy1

全部标签

python - pandas groupby 组中忽略 NaN 的标准错误

我已将数据加载到数据框中,该数据框中的列标题具有多索引。目前,我一直在按列索引对数据进行分组,以获取组的平均值并计算95%的置信区间,如下所示:frompandasimport*importpandasaspdfromscipyimportstatsasst#Normalizetostartingpointthenconvertnormalized=(data-data.ix[0])*11.11111#Groupnormalizeddatabasedonslopeandorientationgrouped=normalized.groupby(level=['SLOPE','DEPTH

Python Pandas 在 groupby 和聚合之后排序

我试图在分组和聚合后对数据(Pandas)进行排序,但我被卡住了。我的数据:data={'from_year':[2010,2011,2012,2011,2012,2010,2011,2012],'name':['John','John1','John','John','John4','John','John1','John6'],'out_days':[11,8,10,15,11,6,10,4]}persons=pd.DataFrame(data,columns=["from_year","name","out_days"])days_off_yearly=persons.group

python - 在大型 csv 文件上使用 sum() 的 pandas groupby?

我有一个大文件(19GB左右),我想将其加载到内存中以对某些列执行聚合。文件看起来像这样:id,col1,col2,col3,1,12,15,132,18,15,133,14,15,133,14,185,213请注意,我在加载到数据框后使用列(id,col1)进行聚合,还要注意这些键​​可能会连续重复几次,例如:3,14,15,133,14,185,213对于一个小文件,下面的脚本可以完成这项工作importpandasaspddata=pd.read_csv("data_file",delimiter=",")data=data.reset_index(drop=True).grou

python - pandas - 在 groupby DataFrame 之后只保留 True 值

我一直在处理包含User_ID、DateTime对象和其他信息的DataFrame,例如以下摘录:User_ID;Latitude;Longitude;Datetime222583401;41.4020375;2.1478710;2014-07-0620:49:20287280509;41.3671346;2.0793115;2013-01-3009:25:47329757763;41.5453577;2.1175164;2012-09-2508:40:59189757330;41.5844998;2.5621569;2013-10-0111:55:20624921653;41.593

python - Pandas 在 groupby 内插值

我有一个包含以下信息的数据框:filenameval1val2t1file1.csv5102file1.csvNaNNaN3file1.csv15206file2.csvNaNNaN7file2.csv10208file2.csv1215我想根据索引插入数据框中的值,但仅限于每个文件组。要进行插值,我通常会这样做df=df.interpolate(method="index")为了分组,我做grouped=df.groupby("filename")我希望插值数据框看起来像这样:filenameval1val2t1file1.csv5102file1.csv10153file1.csv

python - 图例中的 Pandas groupby 对象

我正在尝试使用代码fil.groupby('imei').plot(x=['time'],y=['battery'],ax=ax,title=str(i))问题是情节图例将['battery']列为图例值。鉴于它为groupby对象中的每个项目绘制一条线,因此在图例中绘制这些值更有意义。但是我不确定该怎么做。任何帮助将不胜感激。数据timeimeibattery_raw02016-09-3007:01:238621170201467664220812016-09-3007:06:238621170241467664221322016-09-3007:11:238621170561467

python - Pandas:如何用 groupby 的平均值填充空值?

我有一个数据集,其中包含一些缺失的数据,如下所示:idcategoryvalue1ANaN2BNaN3A10.54CNaN5A2.06B1.0我需要填充空值才能在模型中使用数据。每次第一次出现类别时,它都是NULL。我想要做的是,对于像类别A和B这样具有多个值的情况,用该类别的平均值替换空值。对于仅出现一次的类别C,只需填写其余数据的平均值。我知道我可以简单地对C这样的情况执行此操作以获取所有行的平均值,但我一直在尝试对A和B执行类别方式并替换空值。df['value']=df['value'].fillna(df['value'].mean())我需要最终的df是这样的idcateg

python - 用 NumPy 向量化 groupby

Pandas有一个广泛使用的groupby根据相应的映射拆分DataFrame的工具,您可以从中对每个子组应用计算并重新组合结果。这可以在没有原生Pythonfor循环的情况下在NumPy中灵活地完成吗?使用Python循环,这看起来像:>>>importnumpyasnp>>>X=np.arange(10).reshape(5,2)>>>groups=np.array([0,0,0,1,1])#Splitupelements(rows)of`X`basedontheirelementwisegroup>>>np.array([X[groups==i].sum()foriinnp.un

python Pandas : diff between 2 dates in a groupby

使用Python3.6和Pandas0.19.2:我有一个DataFrame,其中包含已解析的事务日志文件。每行都有时间戳,包含一个事务ID,并且可以表示事务的开始或结束(因此每个事务ID有1行开始和1行结束)。附加信息也可以出现在每个结束行中。我想通过用开始日期减去结束日期来提取每笔交易的持续时间,并保留其他信息。示例输入:importpandasaspdimportiodf=pd.read_csv(io.StringIO('''transactionid;event;datetime;info1;START;2017-04-0100:00:00;1;END;2017-04-0100

python - 使用 Groupby 识别 Pandas Dataframe 中连续的相同值

我有以下数据框df:data={'id':[1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2],'value':[2,2,3,2,2,2,3,3,3,3,1,4,1,1,1,4,4,1,1,1,1,1]}df=pd.DataFrame.from_dict(data)dfOut[8]:idvalue012112213312412512613713813913102111241221132114211524162417211821192120212121我需要做的是在id级别(df.groupby['id'])当值连续3次或更多次显示相同的数字时进行识