天天看點

57.時間序列資料篩選

作者:李光朱

案例導入

如下資料表,篩選出測量值大于等于9的資料。添加代碼注釋。

時間 測量值
2022-03-18 00:00:00 5
2022-03-18 01:00:00 9
2022-03-18 02:00:00 6
2022-03-18 03:00:00 9
2022-03-18 04:00:00 8
2022-03-18 05:00:00 10
2022-03-18 06:00:00 4
2022-03-18 07:00:00 3
2022-03-18 08:00:00 6
2022-03-18 09:00:00 3
2022-03-18 10:00:00 1
2022-03-18 11:00:00 6
2022-03-18 12:00:00 7
2022-03-18 13:00:00 4
2022-03-18 14:00:00 1
2022-03-18 15:00:00 7
2022-03-18 16:00:00 4
2022-03-18 17:00:00 10
2022-03-18 18:00:00 8
2022-03-18 19:00:00 6
2022-03-18 20:00:00 6
2022-03-18 21:00:00 1
2022-03-18 22:00:00 5
2022-03-18 23:00:00 4
2022-03-19 00:00:00 5
2022-03-19 01:00:00 5
2022-03-19 02:00:00 4
2022-03-19 03:00:00 1
2022-03-19 04:00:00 8
2022-03-19 05:00:00 6
2022-03-19 06:00:00 1
2022-03-19 07:00:00 2
2022-03-19 08:00:00 8
2022-03-19 09:00:00 4
2022-03-19 10:00:00 9
2022-03-19 11:00:00 1
2022-03-19 12:00:00 8
2022-03-19 13:00:00 2
2022-03-19 14:00:00 5
2022-03-19 15:00:00 2
2022-03-19 16:00:00 6
2022-03-19 17:00:00 9
2022-03-19 18:00:00 6
2022-03-19 19:00:00 2
2022-03-19 20:00:00 1
2022-03-19 21:00:00 8
2022-03-19 22:00:00 1
2022-03-19 23:00:00 2
2022-03-20 00:00:00 6
2022-03-20 01:00:00 6
2022-03-20 02:00:00 10
2022-03-20 03:00:00 9
2022-03-20 04:00:00 6
2022-03-20 05:00:00 7
2022-03-20 06:00:00 8
2022-03-20 07:00:00 10
2022-03-20 08:00:00 1
2022-03-20 09:00:00 3
2022-03-20 10:00:00 1
2022-03-20 11:00:00 3
2022-03-20 12:00:00 2
2022-03-20 13:00:00 10
2022-03-20 14:00:00 9
2022-03-20 15:00:00 5
2022-03-20 16:00:00 2
2022-03-20 17:00:00 4
2022-03-20 18:00:00 10
2022-03-20 19:00:00 7
2022-03-20 20:00:00 6
2022-03-20 21:00:00 10
2022-03-20 22:00:00 4
2022-03-20 23:00:00 7
2022-03-21 00:00:00 7
2022-03-21 01:00:00 9
2022-03-21 02:00:00 8
2022-03-21 03:00:00 6
2022-03-21 04:00:00 2
2022-03-21 05:00:00 6
2022-03-21 06:00:00 10
2022-03-21 07:00:00 3
2022-03-21 08:00:00 2
2022-03-21 09:00:00 1
2022-03-21 10:00:00 7
2022-03-21 11:00:00 2
2022-03-21 12:00:00 9
2022-03-21 13:00:00 1
2022-03-21 14:00:00 7
2022-03-21 15:00:00 2
2022-03-21 16:00:00 2
2022-03-21 17:00:00 10
2022-03-21 18:00:00 5
2022-03-21 19:00:00 5
2022-03-21 20:00:00 4
2022-03-21 21:00:00 6
2022-03-21 22:00:00 4
2022-03-21 23:00:00 1
2022-03-22 00:00:00 5
2022-03-22 01:00:00 10
2022-03-22 02:00:00 6
2022-03-22 03:00:00 9

文心一言提示詞

打開百度“文心一言”,輸入提示詞:“你是pandas專家。檔案路徑為:D:/Samples/時間序列.xlsx。用pandas導入Excel檔案中第1個工作表中的資料,将第1列作為索引列,引擎為”openpyxl”。試篩選出測量值大于等于9的資料。添加代碼注釋。”

顯示結果如下:

首先,確定你已經安裝了pandas和openpyxl庫。如果沒有安裝,你可以使用pip進行安裝:

pip install pandas openpyxl           

然後,你可以使用以下代碼來導入Excel檔案中的資料,将第1列作為索引列,并篩選出測量值大于等于9的資料。

import pandas as pd

# 檔案路徑
file_path = 'D:/Samples/時間序列.xlsx'

# 使用pandas讀取Excel檔案,指定工作表索引為0(即第1個工作表),将第1列設定為索引列,引擎為'openpyxl'
# 注意:索引在Python中是從0開始的,是以第1個工作表是索引0
df = pd.read_excel(file_path, sheet_name=0, index_col=0, engine='openpyxl')

# 篩選出測量值(假設列名為'測量值')大于等于9的資料
# 如果你的列名不是'測量值',請替換為實際的列名
filtered_df = df[df['測量值'] >= 9]

# 列印篩選後的資料
print(filtered_df)

# 如果需要将篩選後的資料儲存到新的Excel檔案,可以使用以下代碼
output_file_path = 'D:/Samples/篩選後的時間序列.xlsx'
filtered_df.to_excel(output_file_path, index=True, engine='openpyxl')           

代碼注釋版:

import pandas as pd

# 定義Excel檔案的路徑
file_path = 'D:/Samples/時間序列.xlsx'

# 使用pandas的read_excel函數讀取Excel檔案
# sheet_name=0表示讀取第1個工作表(因為索引從0開始)
# index_col=0表示将第1列設定為索引列
# engine='openpyxl'指定使用openpyxl引擎讀取Excel檔案
# 注釋中的'測量值'是假設的列名,你需要替換為實際的列名
# 讀取資料到DataFrame對象df中
df = pd.read_excel(file_path, sheet_name=0, index_col=0, engine='openpyxl')

# 使用布爾索引篩選資料,假設列名為'測量值'
# 篩選出'測量值'列中大于等于9的資料
filtered_df = df[df['測量值'] >= 9]

# 列印篩選後的資料
print("篩選後的資料:")
print(filtered_df)

# 如果需要将篩選後的資料儲存到新的Excel檔案
# 定義輸出檔案的路徑
output_file_path = 'D:/Samples/篩選後的時間序列.xlsx'

# 使用to_excel方法将篩選後的資料儲存到新的Excel檔案中
# index=True表示将索引也儲存到檔案中
filtered_df.to_excel(output_file_path, index=True, engine='openpyxl')
print(f"篩選後的資料已儲存到 {output_file_path}")           

請確定替換'測量值'為你的實際列名。如果列名包含空格、特殊字元或不是英文,確定在引用時使用正确的引号(通常是單引号或雙引号)。

Python運作結果

57.時間序列資料篩選

圖1.Python運作代碼

57.時間序列資料篩選

圖2.Python運作結果

本合集使用的工具如下:

文心一言:3.5版本

Python編輯器:3.9.0

申明:以上結果皆為實際運作結果,如遇到無法運作可在評論區留言。部分資料來自網絡,如有侵權請私信告知,感謝!