亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

聚合時間序列數據

聚合時間序列數據

呼啦一陣風 2022-10-25 11:01:37
我不是數據科學家。我確實知道 python,我目前必須管理定期進入的時間序列數據。這些數據大部分都是零或長時間相同的值,為了節省內存,我想將它們過濾掉。是否有一些標準方法(我顯然不知道)或者我應該實現自己的算法?我想要實現的是以下內容:interval  value   result(summed) 1         0       02         0       # removed3         0       04         1       15         2       26         2       # removed7         2       # removed8         2       29         0       010        0       0任何幫助表示贊賞!
查看完整描述

4 回答

?
素胚勾勒不出你

TA貢獻1827條經驗 獲得超9個贊

謝謝大家!看著答案,我想我可以得出結論,我需要自己動手。我會用你的意見作為靈感。再次感謝 !



查看完整回答
反對 回復 2022-10-25
?
呼喚遠方

TA貢獻1856條經驗 獲得超11個贊

這是代碼:


l = [0, 0, 0, 1, 2, 2, 2, 2, 0, 0]


for (i, ll) in enumerate(l):

    if i != 0 and ll == l[i-1] and i<len(l)-1 and ll == l[i+1]: 

        continue

    print(i+1, ll)

它產生你想要的東西。您沒有指定輸入數據的格式,所以我假設它們在列表中。條件ll == l[i-1]和ll == l[i+1]是跳過重復值的關鍵。


查看完整回答
反對 回復 2022-10-25
?
慕無忌1623718

TA貢獻1744條經驗 獲得超4個贊

沒有快速的函數調用來做你需要的。以下是一種方式


import pandas as pd


df = pd.DataFrame({'interval':[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],

             'value':[0, 0, 0, 1, 2, 2, 2, 2, 0, 0]}) # example dataframe



df['group'] = df['value'].ne(df['value'].shift()).cumsum() # column that increments every time the value changes


df['key'] = 1 # create column of ones

df['key'] =  df.groupby('group')['key'].transform('cumsum') # get the cumulative sum 


df['key'] = df.groupby('group')['key'].transform(lambda x: x.isin( [x.min(), x.max()])) # check which key is minimum and which is maximum by group


df = df[df['key']==True].drop(columns=['group', 'key']) # keep only relevant cases


df


查看完整回答
反對 回復 2022-10-25
?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

您可以對數據框使用 pandas 查詢來實現此目的:


import pandas as pd


matrix = [[1,0, 0],

[2, 0, 0],

[3, 0, 0],

[4, 1, 1],

[5, 2, 2],

[6, 2, 0],

[7, 2, 0],

[8, 2, 2],

[9, 0, 0],

[10,0, 0]]



df = pd.DataFrame(matrix, columns=list('abc'))

print(df.query("c != 0"))


查看完整回答
反對 回復 2022-10-25
  • 4 回答
  • 0 關注
  • 120 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號