我看到了Indexing and selecting data中的文档,其中涉及硬核脚本编制方法,用于从数据帧中切片一定范围的数据。
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('d1.csv')
df['time']=pd.to_datetime(df['time'], unit='ns')
df = df.drop('name', 1)
df['Time'] = df['time'].dt.time
df['date'] = df['time'].dt.date
df['date'] = pd.to_datetime(df['date'])
df = df.set_index(['date'])
df= df.loc['2018-07-04':'2018-07-05']
但是我需要从标准输入功能中选择一系列数据,该如何完成:
而不是在控制台上使用df= df.loc['2018-07-04':'2018-07-05']
形式的提示,而是要求Enter the start date :
和Enter the stop date :
这样做,我将仅获得所选日期范围的数据。
我实际上是这样尝试的:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('d1.csv')
df['time']=pd.to_datetime(df['time'], unit='ns')
df = df.drop('name', 1)
df['Time'] = df['time'].dt.time
df['date'] = df['time'].dt.date
df['date'] = pd.to_datetime(df['date'])
df = df.set_index(['date'])
Starting_Date = input(" Please Enter the Starting_Date : ")
Ending_Date = input(" Please Enter the Ending_Date : ")
data = df[Starting_Date:Ending_Date]
但这不起作用...请仔细看看。
答案 0 :(得分:2)
请尝试这个。日期的格式为year-month-day
,例如'2018-08-16'。
from datetime import datetime
a = input('Starting_Date: ')
b = input('Ending_Date :')
starting_date = datetime.strptime(a, "%Y-%m-%d").date()
ending_date = datetime.strptime(b, "%Y-%m-%d").date()
df.loc[starting_date:ending_date]
希望对您有用:)