how to Search specific cell in Pandas through a list of matching content
本问题已经有最佳答案,请猛点这里访问。
。
我对python不太熟悉,尝试用python制作一个小程序。我的要求:我有一个这样的列表:假日=['2018年1月1日'、'2018年1月26日'、'2018年3月2日'、'2018年3月30日']
我有一个熊猫数据框,打印如下:氧化镁
现在,我想在数据框中搜索与我的列表(如"2018年1月26日")匹配的日期,并希望将搜索结果保存在单独的数据框中。
我没有找到合适的方法来做这件事。请建议
1。字符串匹配
如果日期格式匹配,可以直接进行字符串匹配(尽管这是一种粗糙的方法)
1 | df2 = df[df['date'].isin(holiday)] |
号
2。分析日期时间(正确的方法)
先分析日期,然后进行匹配!
a.分析df日期
1 | df['date'] = pd.to_datetime(df['date'], format='%d %B %Y') |
B.分析列表中的日期
1 2 3 | import datetime as dt holiday = ['1 January 2018','26 January 2018','2 March 2018','30 March 2018'] holiday_parsed = [dt.strptime(i, format='%d %B %Y') for i in holiday] |
。
然后进行过滤-
1 | df2 = df[df['date'].isin(holiday_parsed)] |
希望有帮助!
可以使用
1 2 | holiday = ['1 January 2018','26 January 2018','2 March 2018','30 March 2018'] df.query('date==@holiday') |