簡體   English   中英

從每小時數據中找出每天的最大值

[英]Find maximum value of each day from hourly data

我在從每小時數據中獲取每天的最大值時遇到問題。 原始文件每天包含每個名稱的 24 個數據(名稱太多)。 例如,這里是一個名稱的 24 個數據:

Start Time  Period  name    value
2/23/2019 0:00  60  MBTS_H2145X 100
2/23/2019 1:00  60  MBTS_H2145X 100
2/23/2019 2:00  60  MBTS_H2145X 1
2/23/2019 3:00  60  MBTS_H2145X 1
2/23/2019 4:00  60  MBTS_H2145X 1
2/23/2019 5:00  60  MBTS_H2145X 2324
2/23/2019 6:00  60  MBTS_H2145X 2323
2/23/2019 7:00  60  MBTS_H2145X 2323
2/23/2019 8:00  60  MBTS_H2145X 2323
2/23/2019 9:00  60  MBTS_H2145X 2323
2/23/2019 10:00 60  MBTS_H2145X 2323
2/23/2019 11:00 60  MBTS_H2145X 2323
2/23/2019 12:00 60  MBTS_H2145X 1
2/23/2019 13:00 60  MBTS_H2145X 21
2/23/2019 14:00 60  MBTS_H2145X 21
2/23/2019 15:00 60  MBTS_H2145X 23
2/23/2019 16:00 60  MBTS_H2145X 350
2/23/2019 17:00 60  MBTS_H2145X 323
2/23/2019 18:00 60  MBTS_H2145X 23
2/23/2019 19:00 60  MBTS_H2145X 23
2/23/2019 20:00 60  MBTS_H2145X 2323
2/23/2019 21:00 60  MBTS_H2145X 23
2/23/2019 22:00 60  MBTS_H2145X 23
2/23/2019 23:00 60  MBTS_H2145X 2

我得到的結果是:(這是錯誤的,應該是 2324)

    Start Time  name    max value
0   2/23/2019   MBTS_H2145X 350

我有以下代碼,但我得到錯誤的結果

import dask.dataframe as dd
import numpy as np
import pandas as pd

filename='V.csv'
df = dd.read_csv(filename, dtype='str')


#_________changing date format 
df['Start Time'] = df['Start Time'].map(lambda x: pd.to_datetime(x, errors='coerce'))
#_________change to pure date without hour
df['Start Time'] = df['Start Time'].dt.date


grouped_df=(df.groupby(['Start Time','name']).agg({'value':'max'}).rename(columns={'value':'max value'}).reset_index())

grouped_df.to_csv('e1.csv')

print(grouped_df.head(12))

保持您的代碼完全相同。 只需將此行更改為:

grouped_df=(df.groupby(['Start Time','name']).agg({'value':'max'}).rename(columns={'value':'max value'}).reset_index())

改成:

df.value = pd.to_numeric(df.value)

grouped_df= (df.groupby(['Start Time','name'])['value'].max().rename(columns={'value':'max value'}).reset_index()

df = pd.merge(df, grouped_df, on  = ['Start Time','name'])

聚合函數可能會發生一些事情。

或者,如果您的 DTYPE 只是字符串,則只需添加 pd.to_numeric 行,並保持其他所有內容相同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM