簡體   English   中英

如何使用 Pandas 在 CSV 文件中識別過去 10 天的數據行?

[英]How to identify data rows for the last 10 days in CSV file with pandas?

我是 Python 新手,目前正在尋求以下方面的幫助:

如何使用 Pandas 在 CVS 文件中識別過去 10 天的數據行? 我在 CSV 文件中的第一列 (report_date) 有數據值 (yyyy-mm-dd) 我每天有數百條記錄,但我只需要根據 report_date 列中的日期和理想情況從該文件中獲取最后 10 天將輸出保存到新的 CSV 文件。

到目前為止我的代碼:

import pandas as pd

data = pd.read_csv("path/to/my/file/myfile.csv")    

df = pd.DataFrame(report_date) 

days=10    
cutoff_date = df["report_date"].dt.date.iloc[-1] - pd.Timedelta(days=days)

有人可以幫忙嗎? 提前致謝!

創建DatetimeIndex與第一index_colparse_dates在參數read_csv

df = pd.read_csv("path/to/my/file/myfile.csv", 
                 index_col=['report_date'], 
                 parse_dates=['report_date'])   

然后可以使用DataFrame.last

df1 = df.last('10d')

最后通過DataFrame.to_csv保存到文件:

df1.to_csv('new.csv')

您的解決方案應該更改為在read_csv列轉換為日期read_csv

df = pd.read_csv("path/to/my/file/myfile.csv", parse_dates=['report_date'])    

days=10    
cutoff_date = df["report_date"].dt.date.iloc[-1] - pd.Timedelta(days=days)

然后在boolean indexingSeries.dt.date比較日期:

df1 = df[df["report_date"].dt.date > cutoff_date]

最后通過DataFrame.to_csv保存到刪除默認索引的DataFrame.to_csv

df1.to_csv('new.csv', index=False)

編輯:我相信你需要:

df = pd.DataFrame({'data': range(30)}, index= pd.date_range('2020-01-25', periods=30))  
print (df)
            data
2020-01-25     0
2020-01-26     1
2020-01-27     2
2020-01-28     3
2020-01-29     4
2020-01-30     5
2020-01-31     6
2020-02-01     7
2020-02-02     8
2020-02-03     9
2020-02-04    10
2020-02-05    11
2020-02-06    12
2020-02-07    13
2020-02-08    14
2020-02-09    15
2020-02-10    16
2020-02-11    17
2020-02-12    18
2020-02-13    19
2020-02-14    20
2020-02-15    21
2020-02-16    22
2020-02-17    23
2020-02-18    24
2020-02-19    25
2020-02-20    26
2020-02-21    27
2020-02-22    28
2020-02-23    29

today = pd.Timestamp('today').floor('d')
df1 = df[df.index > today].first('10d')
print (df1)
            data
2020-02-11    17
2020-02-12    18
2020-02-13    19
2020-02-14    20
2020-02-15    21
2020-02-16    22
2020-02-17    23
2020-02-18    24
2020-02-19    25
2020-02-20    26

暫無
暫無

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

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