【发布时间】:2021-06-18 20:04:47
【问题描述】:
我是python的初学者,我想得到列日期的第一个和最后一个值,总是mac_address相同,例如:
我已经通过 mac_address 订购了我的数据框,日期与下一行:
df = df.sort_values(by=['mac_address', 'date'], ascending=(True, True))
而数据是:
router mac_address date
589455 15001391 00:00:34:1a:03:e8 2021-01-01 22:09:34
590067 17091211 00:00:34:1a:03:e8 2021-01-01 22:10:54
590136 17091236 00:00:34:1a:03:e8 2021-01-01 22:11:04
.....
.....
.....
635434 15001391 00:00:78:01:0d:11 2021-01-02 00:14:54
636479 17091211 00:00:78:01:0d:11 2021-01-02 00:16:17
949873 17091172 00:00:af:82:56:93 2021-01-02 11:26:39
950699 17091251 00:00:af:82:56:93 2021-01-02 11:27:59
950700 17091253 00:00:af:82:56:93 2021-01-02 11:28:59
950702 17091257 00:00:af:82:56:93 2021-01-02 11:29:59
950703 17091258 00:00:af:82:56:93 2021-01-02 11:30:59
619384 17091174 00:01:09:d2:09:e0 2021-01-01 23:34:32
365351 17091211 00:01:d2:7c:4e:32 2021-01-01 14:27:58
109858 17091236 00:02:75:86:4e:34 2021-01-01 05:50:47
110281 17091211 00:02:75:86:4e:34 2021-01-01 05:50:54
注意:日期列的格式为“2021-01-01 05:50:54”,出现的不同mac地址的次数是可变的
我想要两个这样的输出:
第一个输出:
589455 15001391 00:00:34:1a:03:e8 2021-01-01 22:09:34
590136 17091236 00:00:34:1a:03:e8 2021-01-01 22:11:04
635434 15001391 00:00:78:01:0d:11 2021-01-02 00:14:54
636479 17091211 00:00:78:01:0d:11 2021-01-02 00:16:17
.....
.....
949873 17091172 00:00:af:82:56:93 2021-01-02 11:26:39
950703 17091258 00:00:af:82:56:93 2021-01-02 11:30:59
619384 17091174 00:01:09:d2:09:e0 2021-01-01 23:34:32
365351 17091211 00:01:d2:7c:4e:32 2021-01-01 14:27:58
第二个输出:只考虑有第一个和最后一个值的数据,不考虑只出现一次的mac_adress
589455 15001391 00:00:34:1a:03:e8 22:09:34
590136 17091236 00:00:34:1a:03:e8 22:11:04
635434 15001391 00:00:78:01:0d:11 00:14:54
636479 17091211 00:00:78:01:0d:11 00:16:17
.....
.....
949873 17091172 00:00:af:82:56:93 11:26:39
950703 17091258 00:00:af:82:56:93 11:30:59
我不知道是我复杂了还是这项任务比我看到的要容易,但我在过去的 48 小时内没有任何有利的结果。你能帮我吗?非常感谢
【问题讨论】:
标签: python dataframe format multiple-columns unique-values