繁体   English   中英

在熊猫列中的日期上使用'isin'

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM