如何使用Python将列值划分为小的桶,然后对它们进行移动平均

如何使用Python将列值划分为小的桶,然后对它们进行移动平均,python,pandas,numpy,Python,Pandas,Numpy,我正在python上开发电影数据集 我如何将手表时间划分为“长”/“短”桶,并标记哪个桶 除此之外,我还想找到每个存储桶的运行平均值,并绘制图表 非常感谢您的帮助 Movie Table Team : horror,reality (string) id : 23556,86455 (int) Launch Date: 2017-09-08, 2019-02-21 (datetime) Feature **ID;**86455,23553 (int) **Watch_Time** :75,2,

我正在python上开发电影数据集

我如何将手表时间划分为“长”/“短”桶,并标记哪个桶 除此之外,我还想找到每个存储桶的运行平均值,并绘制图表

非常感谢您的帮助

Movie Table
Team : horror,reality (string)
id : 23556,86455 (int)
Launch Date: 2017-09-08, 2019-02-21 (datetime)

Feature
**ID;**86455,23553 (int)
**Watch_Time** :75,2,20,4 (minutes)(float)
**Rating:**9,5 (int)

数据集大约是10万行

我已经选取了20部电影的样本来演示如何做到这一点。核心是。如果要定义自己的bucket,也可以使用。在本例中,我选择了3个桶,而不是前面提到的2个。显然,更改为2只是将参数更改为
qcut()


dfa=pd.数据帧({'ImdbId':['tt8579674','tt7329656','tt7608418','tt10006006','tt8709036','TT2112996','tt0445922','tt2316204','tt0437086','tt6189022','tt7456310','tt0478970','tt4154796','tt1727824','tt6857166','tt6823368','tt0452625','tt3896198','tt1846589','tt5580036','tt4058368'],
“标题”:【1917年】、【47米深:未封套】、【圣诞王子】、【圣诞王子:王室婴儿】、【圣诞王子:王室婚礼】、【绝对精彩:电影】、【穿越宇宙】、【外星人:盟约】、【阿丽塔:战斗天使】、【天使倒下】、【安娜】、【蚂蚁人】、【复仇者:终局】、【波西米亚狂想曲】、【读书俱乐部】、【玻璃】、【好运】《查克》、《银河守护者》第二卷、《猎人杀手》、《我,托尼亚》、《如果有荆棘》],
“运行时”:[119、90、92、84、92、91、133、122、122、122、119、117、181、135、104、129、101、137、122、120、100])
#将bucket作为范围和名称
dfa[“bucket”]=pd.qcut(dfa[“Runtime”],3)
dfa[“named_bucket”]=pd.qcut(dfa[“Runtime”],3,标签=[“short”、“medium”、“long”])
#生成在最小/最大值上有合理限制的绘图
dfa.groupby(“命名桶”).mean().plot(kind=“barh”,
xlim=(dfa[“运行时”].min(),dfa[“运行时”].quantile(0.97)))
dfa.groupby(“bucket”).mean().plot(kind=“barh”,
xlim=(dfa[“运行时”].min(),dfa[“运行时”].quantile(0.97)))

您能提供
df.head()到\u dict()吗
所以我们可以看到您的实际数据集我没有真正的数据集。我只有样本二、三列、两列。我被告知此数据集有10m行,但我需要仅使用此样本来解决此问题。基本上我需要将20,4标记为短,75.2标记为长,然后对这些标签进行运行/移动平均谢谢Rob.t他真的很有帮助!!