我有一个带有日期和时间值的pandas数据框如下。
Date Time Pattern
0 06/01/13 0:00:01 A
1 06/02/13 1:00:01 B
2 06/03/13 2:00:01 A
3 06/04/13 3:00:01 C
现在我打算从用户那里获取日期输入,如下所示:
date = str(input('Input date in mm-dd-yy format'))
现在我应该如何按用户的所有行查找/分组输入日期并将其复制到新的数据帧。我尝试了很多东西,但对数据时间转换感到困惑。
我该怎么办呢?
答案 0 :(得分:1)
首先确保您的Date
列为datetime
df.Date = pd.to_datetime(df.Date)
然后使用query
date = pd.to_datetime(input('Input date in mm-dd-yyyy format'))
df.query('Date == @date')
对@learningprogramming的反应
您可以在query
date = pd.to_datetime(input('Input date in mm-dd-yyyy format: '))
df.query('Date == @date & Pattern == "B"')
loc
也适用
date = pd.to_datetime(input('Input date in mm-dd-yyyy format: '))
df.loc[(df.Date == date) & (df.Pattern == 'B')]
将所有内容放入输入
date = pd.to_datetime(input('Input date in mm-dd-yyyy format: '))
pattern = str(input('Input pattern type: '))
df.query('Date == @date & Pattern == @pattern')
答案 1 :(得分:0)
名为'Date'的列是字符串吗?如果是这样,您可以尝试类似:
subset = df[df['Date'] == date]