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

yipeiwu_com5年前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基于socket实现简单的即时通讯功能示例

本文实例讲述了Python基于socket实现简单的即时通讯功能。分享给大家供大家参考,具体如下: 客户端tcpclient.py # -*- coding: utf-8 -*- i...

python matplotlib坐标轴设置的方法

python matplotlib坐标轴设置的方法

在使用matplotlib模块时画坐标图时,往往需要对坐标轴设置很多参数,这些参数包括横纵坐标轴范围、坐标轴刻度大小、坐标轴名称等 在matplotlib中包含了很多函数,用来对这些...

Python将string转换到float的实例方法

Python将string转换到float的实例方法

Python 如何转换string到float?简单几步,让你轻松解决。 打开软件,新建python项目,如图所示 右键菜单中创建.py文件,如图所示 步骤中文件输入代码如下...

解决python文件字符串转列表时遇到空行的问题

文件内容如下: Alex 100000 Rain 80000 Egon 50000 Yuan 30000 #此处有一个空行! 现在看如何处理并转成列表! sal...

Python中的迭代器与生成器高级用法解析

迭代器 迭代器是依附于迭代协议的对象——基本意味它有一个next方法(method),当调用时,返回序列中的下一个项目。当无项目可返回时,引发(raise)StopIteration异常...