我有一個字典串列:
mylist=
[{'Date': '10/2/2021', 'ID': 11773, 'Receiver': 'Mike'},
{'Date': '10/2/2021', 'ID': 15673, 'Receiver': 'Jane'},
{'Date': '10/3/2021', 'ID': 11773, 'Receiver': 'Mike'},
...
{'Date': '12/25/2021', 'ID': 34653, 'Receiver': 'Jack'}]
我想選擇日期范圍內的行,例如從 2021 年 10 月 3 日到 2021 年 11 月 3 日。我嘗試了以下步驟:
dfmylist = pd.DataFrame(mylist)
dfmylistnew = (dfmylist['Date'] > '10/3/2021') & (dfmylist['Date'] <= '11/3/2021')
我將串列轉換為資料框,然后選擇日期范圍。但是,dfmylistnew資料框沒有正確顯示。我錯過了什么?
的輸出dfmylistnew是:
0 False
1 False
2 False
3 False
4 False
Name: Date, dtype: bool
uj5u.com熱心網友回復:
您錯過了將“日期”轉換為日期時間型別:
import pandas as pd
mylist=[{'Date': '10/2/2021', 'ID': 11773, 'Receiver': 'Mike'},
{'Date': '10/2/2021', 'ID': 15673, 'Receiver': 'Jane'},
{'Date': '10/3/2021', 'ID': 11773, 'Receiver': 'Mike'},
{'Date': '12/25/2021', 'ID': 34653, 'Receiver': 'Jack'}]
dfmylist = pd.DataFrame(mylist)
dfmylist['Date'] = pd.to_datetime(dfmylist['Date']) # you missed this line
dfmylistnew = (dfmylist['Date'] > '10/2/2021') & (dfmylist['Date'] <= '11/3/2021')
dfmylist.loc[dfmylistnew]
uj5u.com熱心網友回復:
您擁有的一個選項是將日期列更改為資料框的索引,一旦將其設定為索引,python 會將其識別為日期欄位,您可以使用 df.loc 查找指定日期之間的資料。
df = pd.DataFrame(mylist)
df.set_index('Date')
df.loc['10/3/2021':'11/3/2021']
uj5u.com熱心網友回復:
你可以試試這個:
dfmylistnew = dfmylist[list(dfmylist['Date'] > '10/3/2021') and list(dfmylist['Date']<='11/3/2021')]
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/431695.html
