在使用Python處理數(shù)據(jù)時(shí),經(jīng)常需要對(duì)數(shù)據(jù)篩選。
這是在對(duì)時(shí)間篩選時(shí),判斷兩列時(shí)間是否相差一年,如果是,則返回符合條件的所有列。
data原始數(shù)據(jù):
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_ago0 2154888 r_1002030000 0.62660 2015-09-30 r_1002030000 0.64145 2015-12-31 2014-12-311 2154888 r_1002030000 0.64145 2015-12-31 r_1002030000 0.64145 2015-12-31 2014-12-312 2154888 r_1002030000 0.60544 2015-03-31 r_1002030000 0.64145 2015-12-31 2014-12-313 2154888 r_1002030000 0.54911 2014-12-31 r_1002030000 0.64145 2015-12-31 2014-12-314 2154888 r_1002030000 0.61379 2015-06-30 r_1002030000 0.64145 2015-12-31 2014-12-315 1702887 r_1002030000 0.62173 2014-03-31 r_1002030000 0.51103 2015-03-31 2014-03-316 1702887 r_1002030000 0.55175 2014-12-31 r_1002030000 0.51103 2015-03-31 2014-03-317 1702887 r_1002030000 0.51103 2015-03-31 r_1002030000 0.51103 2015-03-31 2014-03-318 1702887 r_1002030000 0.58696 2014-06-30 r_1002030000 0.51103 2015-03-31 2014-03-319 13484491 r_1002030000 0.17658 2014-12-31 r_1002030000 0.41082 2015-12-31 2014-12-3110 13484491 r_1002030000 0.41082 2015-12-31 r_1002030000 0.41082 2015-12-31 2014-12-3111 13484491 r_1002030000 0.39220 2015-09-30 r_1002030000 0.41082 2015-12-31 2014-12-31
篩選后的數(shù)據(jù):
company_id signal_code_x signal_value_x report_date signal_code_y signal_value_y report_date_last date_1y_ago1 2154888 r_1002030000 0.64145 2015-12-31 r_1002030000 0.64145 2015-12-31 2014-12-317 1702887 r_1002030000 0.51103 2015-03-31 r_1002030000 0.51103 2015-03-31 2014-03-3110 13484491 r_1002030000 0.41082 2015-12-31 r_1002030000 0.41082 2015-12-31 2014-12-31
以上這篇使用Python的Dataframe取兩列時(shí)間值相差一年的所有行方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林站長(zhǎng)站。
新聞熱點(diǎn)
疑難解答
圖片精選