为了账号安全,请及时绑定邮箱和手机立即绑定

python pandas平均连续值数

python pandas平均连续值数

胡子哥哥 2022-07-26 21:56:27
我有一个熊猫数据框,我想要连续连续值的平均数。例如,对于以下数据   a b c d e f g h i j k l p1 0 0 4 4 4 4 4 4 1 4 4 1p2 0 4 4 0 4 4 0 1 4 4 0 1所以 p1 的连续 4 的平均数是 (6+2)/2 = 4 而 p2 是 (2+2+2)/3 = 2还有一种方法可以找到连续值的最小和最大数量吗?即 p1 的最大值为 6。
查看完整描述

2 回答

?
长风秋雁

TA贡献1757条经验 获得超7个赞

您可以转置您的数据框并使用下面帖子中建议的方法。您将获得一个连续数字计数的数据框,您可以使用它来执行平均值、最小值和最大值。



查看完整回答
反对 回复 2022-07-26
?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

这适用于 p1。要获得 p2,只要看到正在使用的“iloc”函数,只需将 0 替换为 1。


dict = {0:[],1:[],2:[],3:[],4:[]}

counter = 1


for i in range(len(df.iloc[0])-1):


    num = df.iloc[0,i]

    num2 = df.iloc[0,i+1]


    if num == num2:

        counter += 1

    else: 

        dict[num].append(counter)

        counter = 1

然后得到连续 4 的平均数:


print(sum(dict[4])/len(dict[4]))

并获得连续 4 的最大数量:


print(max(dict[4]))


查看完整回答
反对 回复 2022-07-26
  • 2 回答
  • 0 关注
  • 131 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信