使用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机器学习之神经网络(三)

python机器学习之神经网络(三)

前面两篇文章都是参考书本神经网络的原理,一步步写的代码,这篇博文里主要学习了如何使用neurolab库中的函数来实现神经网络的算法。 首先介绍一下neurolab库的配置: 选择你所...

python 将大文件切分为多个小文件的实例

切分文件 最近遇到需要切分文件的需求,当然首选用python来解决,网上搜了下感觉都太复杂了,其实用python自带函数即可解决。 f = open('path&filename',...

python通过socket实现多个连接并实现ssh功能详解

python通过socket实现多个连接并实现ssh功能详解

一、前言   上一篇中我们已经知道了客户端通过socket来连接服务端,进行了一次数据传输,那如何实现客户端多次发生数据?而服务端接受多个客户端呢? 二、发送中文信息   在python...

python如何为创建大量实例节省内存

python如何为创建大量实例节省内存,具体内容如下 案例:   某网络游戏中,定义了玩家类Player(id, name, status,....),每有一个在线玩家,在服务器程序内...

python之pexpect实现自动交互的例子

Pexpect 是 Expect 语言的一个 Python 实现,是一个用来启动子程序,并使用正则表达式对程序输出做出特定响应,以此实现与其自动交互的 Python 模块。 Pexpec...