如何使用标准输入函数从数据框中切分日期?
how to slice dates from a dataframe using standard input function?
我在 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']
但是我需要select来自标准输入函数的一系列数据,如何实现:
而不是在控制台的表单中使用 df= df.loc['2018-07-04':'2018-07-05']
say 它将被要求 Enter the start date :
和 Enter the stop date :
这样我将获得 [=26 的数据=]仅限日期范围。
我实际上试过这样做:
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]
但这行不通...请看一下。
请试试这个。日期格式为 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]
希望对你有用:)
我在 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']
但是我需要select来自标准输入函数的一系列数据,如何实现:
而不是在控制台的表单中使用 df= df.loc['2018-07-04':'2018-07-05']
say 它将被要求 Enter the start date :
和 Enter the stop date :
这样我将获得 [=26 的数据=]仅限日期范围。
我实际上试过这样做:
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]
但这行不通...请看一下。
请试试这个。日期格式为 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]
希望对你有用:)