我有一個熊貓數據框,我想要連續連續值的平均數。例如,對于以下數據 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貢獻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]))
添加回答
舉報
0/150
提交
取消