如何使用Pandas从给定数据集提取所有周四数据?求实现思路
实现思路:筛选数据集中的周四数据
嘿,我来给你梳理下怎么从给定的数据集中筛选出所有周四的条目,思路其实很清晰,咱们一步步拆解:
核心思路
关键是利用每条数据里的time时间戳字段(比info里的文本日期更可靠,因为info可能附带额外字符),把时间戳转换成日期对象后,判断该日期是否为周四。
具体步骤
- 遍历数据集中的每一条记录
- 取出当前记录的
time值(Unix时间戳),将其转换为可操作的日期时间对象 - 判断该日期是否为周四:
- 不同语言里判断星期的方式略有差异,比如在Python中:
- 使用
isoweekday()方法:返回值1代表周一,4就代表周四 - 或者用
weekday()方法:返回值0代表周一,3代表周四
- 使用
- 不同语言里判断星期的方式略有差异,比如在Python中:
- 把符合条件的记录收集起来,就是你要的结果
代码示例(Python)
这里直接给你可运行的Python代码,用列表推导式还能简化写法:
import datetime data = [{"content": "11", "title": "刘德华", "info": "2020-01-13", "time": 1578877014}, {"content": "22", "title": "刘德", "info": "2020-01-24", "time": 1579877014}, {"content": "33", "title": "apple", "info": "2020-02-28", "time": 1582877014}, {"content": "55", "title": "app", "info": "2020-02-17", "time": 1581877014}, {"content": "66", "title": "appstore", "info": "2019-06-30", "time": 1561877014}, {"content": "44", "title": "banana", "info": "2020-02-28", "time": 1582876014}, {"content": "aa", "title": "banana", "info": "2020-03-12 eee", "time": 1584000882}, {"content": "bb", "title": "Thursday data", "info": "2018-03-12 vvvv", "time": 1520842482}, {"content": "cc", "title": "banana", "info": "2020-03-14 xxx", "time": 1584154305}, {"content": "cc", "title": "banana", "info": "2019-03-14 aa", "time": 1552531905}, {"content": "cc", "title": "Thursday data", "info": "2020-03-19 data", "time": 1584586305}, {"content": "cc", "title": "Thursday data", "info": "2019-11-07 aaa", "time": 1573095105}] # 筛选所有周四的数据 thursday_data = [item for item in data if datetime.datetime.fromtimestamp(item["time"]).isoweekday() == 4] print(thursday_data)
补充说明
为什么优先用time字段而不是info?因为info里的日期可能附带额外文本(比如"2020-03-12 eee"),虽然可以提取前10位来转日期,但时间戳是精确的数值,不会受这些额外内容影响,准确性更高。
内容的提问来源于stack exchange,提问作者xin.chen
相关产品推荐
相关产品推荐

