我正在使用移动数据-基本上是用户及其与不同位置的传感器的交互。我需要根据各种因素定义用户类型。当前,定义一种用户类型的最简单方法是与各种传感器进行交互。
在我看来,这应该很简单。我需要通过“用户”列将用户分组在一起,然后在数据集中的“传感器”列中搜索特定的传感器。如果定位了一个特定传感器,则应相应地定义整个组的用户类型。
当我想到它时似乎很容易,但是我很难用Python编写它。我对此很陌生,因此将不胜感激!
因此,我曾经研究过创建组并尝试有条件地格式化单行。
这是我正在使用的一目了然的数据集(我现在将User type设置为0):
User User type Sensor Date Time in Time out \
0 User 0000043 0 Sensor 17 2019/04/29 08:33:00 08:34:00
1 User 0000047 0 Sensor 05 2019/04/09 11:36:00 11:36:00
2 User 0000047 0 Sensor 05 2019/04/09 12:31:00 12:31:00
3 User 0000047 0 Sensor 05 2019/04/09 12:34:00 12:34:00
4 User 0000047 0 Sensor 05 2019/04/09 13:47:00 13:47:00
5 User 0000047 0 Sensor 05 2019/04/09 14:34:00 14:34:00
6 User 0000047 0 Sensor 05 2019/04/09 15:03:00 15:04:00
7 User 0000047 0 Sensor 05 2019/04/09 15:14:00 15:14:00
8 User 0000047 0 Sensor 05 2019/04/09 15:24:00 15:26:00
9 User 0000047 0 Sensor 05 2019/04/09 15:29:00 15:29:00
我已通过以下代码对数据进行了分组:
rawsorted.groupby('User').Sensor.unique()
这是我尝试对行进行条件格式化:
rawsorted.loc[rawsorted['Sensor'] == 'Sensor 12|Sensor 13|Sensor 15|Sensor 16|Sensor 17|Sensor 23' , 'User type'] = 'NMT'
答案 0 :(得分:0)
您正在寻找isin
rawsorted.loc[rawsorted['Sensor'].isin('Sensor 12|Sensor 13|Sensor 15|Sensor 16|Sensor 17|Sensor 23'.split('|') , 'User type'] = 'NMT'