我有一个pandas数据框如下。这个数据为期一个月。我需要选择从ABC开始的设备。我也需要获取数据框。 (作为我的预期输出)。我该怎么做?
Time Stamp Id Latitude Longitude Device
01/10/2016 15:22:51:700 1 23 50 ABC (aaa)
01/10/2016 16:28:08:026 1 23 50 ABC (aaa)
01/10/2016 16:28:09:026 1 12 45 ABC (bae)
02/10/2016 19:00:08:026 2 23 50 TTT (ff)
02/10/2016 20:28:08:026 1 23 50 GGG (lll)
03/10/2016 19:00:08:000 2 23 50 ABC (zzz)
03/10/2016 01:02:33:123 2 23 50 NNN (gg)
03/10/2016 06:15:08:500 1 23 50 KKK (yyy)
03/10/2016 10:01:07:022 3 28 88 ABC (bae)
......
......
31/10/2016 13:09:17:044 1 33 80 ABC (bae)
我的预期输出是:
Time Stamp Id Latitude Longitude Device
01/10/2016 15:22:51:700 1 23 50 ABC (aaa)
01/10/2016 16:28:08:026 1 23 50 ABC (aaa)
01/10/2016 16:28:09:026 1 12 45 ABC (bae)
03/10/2016 19:00:08:000 2 23 50 ABC (zzz)
03/10/2016 10:01:07:022 3 28 88 ABC (bae)
......
......
31/10/2016 13:09:17:044 1 33 80 ABC (bae)
答案 0 :(得分:2)
试试这个:df[df.Device.str.startswith('ABC')]
使用pandas
,您可以使用series.str
来使用几个有用的函数进行字符串操作。
Series.str.startswith,我在上面展示的那个,是选择(返回bool值)索引,以特定模式开头。
BTW,使用contains
与^
的答案基本相同,但是,它使用正则表达式来定义应该是什么的模式,而不是使用pandas
提供的函数。输入字符串的第一个字符。
答案 1 :(得分:1)
假设您的数据帧名为“df”,那么如何在pandas.Series.str中使用regexp匹配工具:
df[df['Device'].str.contains('^ABC.*')]