[英]Using 'isin' on a date in a pandas column
我有以下代码导致以下数据帧:
date=['1/1/2016','2/2/2017','4/8/2017','3/3/2015']
distance=['10','20','30','40']
dd=list(zip(date,distance))
df=pd.DataFrame(dd,columns=['date','distance'])
date distance
0 1/1/2016 10
1 2/2/2017 20
2 4/8/2017 30
3 3/3/2015 40
我想选择2017年的所有数据。如果尝试以下操作,则会得到一个空的数据框,因为它也不包括月份和日期:
df=df[df['date'].isin(['2017'])]
有没有一种方法可以在不将日期列表分为月,日和年的情况下完成此任务? 如果必须分割日期,如何保持对应的距离?
df['date'] = pd.to_datetime(df['date'])
df = df[df['date'].dt.year == 2017]
如果您只想过滤'2017'。 然后去做
df[df.date.str.endswith('2017')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.