python - 如何创建一个从 1 开始的 ID,在排序后每次开始另一个(字符串,时间)变量增加 1(分钟)?
问题描述
正如您在这里看到的Variables,我有四个变量。每个 ID 代表一段道路,在每个时间戳记录一个速度。但是,这部分有 16 个小节,每个小节都有自己的速度。这 16 种速度已创建为 16 行而不是 16 列的一列,但 ID 只是从 1 到 16 一遍又一遍地使它们不唯一。
我需要的是从一个开始创建一个唯一的 ID,这意味着对于每个时间戳我都有(ID 的数量 * 16 个小节)ID。 换句话说,如果它是按时间戳排序,然后是 ID,然后是小节,我需要它从 1 创建一个 ID,每次增加一分钟时从 1 开始。
我希望你们中的一些人可以帮助我。这将不胜感激。
解决方案
明白了,这是一个例子——如果你想要不同的格式,你可以改变 new_id 行。
def make_id(row):
new_id = (row['ID']-1)*16 + row['Segment']
return new_id
df['UniqID'] = df.apply(make_id, axis = 1)
第 1 节第 1 小节的输出为 1,第 1 节第 16 小节的输出为 16。
推荐阅读
- c# - 2D Runner 高分问题
- java - 如何在 webtestclient 中输入属性
- macos - HAL 插件缓冲区大小 kAudioDevicePropertyBufferFrameSize
- android - android 自动更新应用程序,无需用户操作
- php - 根据先前的输入从数据库中获取输入值
- java - 为什么在春季调度程序中更新时更改未反映在数据库中?
- java - 如何从字符串中获取姓名和姓氏?
- c++ - 在 c++ 中使用 unordered_set/map 时如何制作封装良好的类?
- bash - 如何从bash中的csv中提取值
- symfony - symfony createQueryBuilder leftjoin 与某些选定的字段