使用Python的Dataframe取两列时间值相差一年的所有行方法

yipeiwu_com6年前Python基础

在使用Python处理数据时,经常需要对数据筛选。

这是在对时间筛选时,判断两列时间是否相差一年,如果是,则返回符合条件的所有列。

data原始数据:

data[map(lambda x:datetime.date(x.year-1,x.month,x.day),data['report_date'])==data['date_1y_ago']]
 company_id signal_code_x signal_value_x report_date signal_code_y signal_value_y report_date_last date_1y_ago
0  2154888 r_1002030000   0.62660 2015-09-30 r_1002030000   0.64145  2015-12-31 2014-12-31
1  2154888 r_1002030000   0.64145 2015-12-31 r_1002030000   0.64145  2015-12-31 2014-12-31
2  2154888 r_1002030000   0.60544 2015-03-31 r_1002030000   0.64145  2015-12-31 2014-12-31
3  2154888 r_1002030000   0.54911 2014-12-31 r_1002030000   0.64145  2015-12-31 2014-12-31
4  2154888 r_1002030000   0.61379 2015-06-30 r_1002030000   0.64145  2015-12-31 2014-12-31
5  1702887 r_1002030000   0.62173 2014-03-31 r_1002030000   0.51103  2015-03-31 2014-03-31
6  1702887 r_1002030000   0.55175 2014-12-31 r_1002030000   0.51103  2015-03-31 2014-03-31
7  1702887 r_1002030000   0.51103 2015-03-31 r_1002030000   0.51103  2015-03-31 2014-03-31
8  1702887 r_1002030000   0.58696 2014-06-30 r_1002030000   0.51103  2015-03-31 2014-03-31
9  13484491 r_1002030000   0.17658 2014-12-31 r_1002030000   0.41082  2015-12-31 2014-12-31
10 13484491 r_1002030000   0.41082 2015-12-31 r_1002030000   0.41082  2015-12-31 2014-12-31
11 13484491 r_1002030000   0.39220 2015-09-30 r_1002030000   0.41082  2015-12-31 2014-12-31

筛选后的数据:

company_id signal_code_x signal_value_x report_date signal_code_y signal_value_y report_date_last date_1y_ago
1  2154888 r_1002030000   0.64145 2015-12-31 r_1002030000   0.64145  2015-12-31 2014-12-31
7  1702887 r_1002030000   0.51103 2015-03-31 r_1002030000   0.51103  2015-03-31 2014-03-31
10 13484491 r_1002030000   0.41082 2015-12-31 r_1002030000   0.41082  2015-12-31 2014-12-31

以上这篇使用Python的Dataframe取两列时间值相差一年的所有行方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python绘制双Y轴折线图以及单Y轴双变量柱状图的实例

python绘制双Y轴折线图以及单Y轴双变量柱状图的实例

近来实验室的师姐要发论文,由于论文交稿时间临近,有一些杂活儿需要处理,作为实验室资历最浅的一批,我这个实习生也就责无旁贷地帮忙当个下手。今天师姐派了一个小活,具体要求是: 给一些训练模型...

Django使用Channels实现WebSocket的方法

Django使用Channels实现WebSocket的方法

WebSocket - 开启通往新世界的大门 WebSocket是什么? WebSocket是一种在单个TCP连接上进行全双工通讯的协议。WebSocket允许服务端主动向客户端推...

Django Aggregation聚合使用方法解析

在当今根据需求而不断调整而成的应用程序中,通常不仅需要能依常规的字段,如字母顺序或创建日期,来对项目进行排序,还需要按其他某种动态数据对项目进行排序。Djngo聚合就能满足这些要求。 以...

python进阶教程之文本文件的读取和写入

Python具有基本的文本文件读写功能。Python的标准库提供有更丰富的读写功能。 文本文件的读写主要通过open()所构建的文件对象来实现。 创建文件对象 我们打开一个文件,并使用一...

在windows系统中实现python3安装lxml

lxml是Python中与XML及HTML相关功能中最丰富和最容易使用的库。lxml并不是Python自带的包,而是为libxml2和libxslt库的一个Python化的绑定。它与众不...