私はdataset
オブジェクトとして日付(例えば09/17/20)を含む列を持っています。filter
現在の月に基づいてすべての行を表示します。
import pandas as pd
import datetime as dt
from datetime import datetime
df = pd.read_csv("dataset.csv", dtype="unicode")
print(df.dtypes)
now = datetime.now()
df['month_start'] = pd.to_datetime(df['month_start'], format = "%Y-%d-%m")
mask = df['month_start'].dt.strftime("%Y-%m") == datetime.today().strftime("%Y-%m")
include = df[mask]
df.to_csv("dates.csv")
print(datetime.today().strftime("%Y-%m"))
filter
今月のみの行が必要なので、私の試みは日付をまったくしません。
スニペットを確認してください。
私はすべての月をフェッチdataframe
してリストに保存し、すべての年をフェッチして別のリストに保存しました。次に、現在の月と現在の年と比較し、両方のリストから共通の値にアクセスし、最後にiloc
、指定された場所を見つけるために使用したインデックス値を使用しました行
import pandas as pd
from datetime import datetime
df = pd.read_csv("data.csv", dtype="unicode")
amon = pd.DatetimeIndex(df['month_start']).month.tolist()
ayear= pd.DatetimeIndex(df['month_start']).year.tolist()
bmon=[i for i,x in enumerate(amon) if((x==datetime.now().month))]
byear=[i for i,x in enumerate(ayear) if((x==datetime.now().year))]
common = [i for i in bmon if i in byear]
df=df.iloc[common]
Input
month_start
0 08/17/2015
1 09/17/2015
2 09/17/2020
3 07/17/2020
4 06/17/2020
Output
month_start
2 09/17/2020
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加