楼主: 莹莹光
686 0

[问答] 真心求教!请问使用np.digitize进行单个文件数据分组分组可以实现,但批处理bins报错 [推广有奖]

  • 0关注
  • 0粉丝

高中生

87%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
220 点
帖子
14
精华
0
在线时间
24 小时
注册时间
2020-3-20
最后登录
2022-10-31

楼主
莹莹光 发表于 2021-9-5 08:32:38 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
真心求教!请问使用np.digitize进行单个文件数据分组分组可以实现,但批处理bins报错,由于bins只能单调增或者单调减,请问如何才能实现多个文件数据分组的批量处理?
感谢各位不吝指教!

In[11]:
for file in sorted(csv_file_paths):
    #print(file)
    df = pd.read_csv(file, header=0,encoding = 'utf-8',index_col=0)
    #构建划分区间,相邻两条记录间‘时间差>600’‘计算速度<2’则为停止,否则为行驶
    df['tag1'] = df['计算速度'].apply(lambda x: 0 if x < 2 else 1)
    g1 = df.groupby(df['tag1'])
    sbin = g1.get_group(1).index.tolist()
    sbin.append(int(df.index[-1])+1)
    #数据分割,获取分段数据
    df['index'] = df.index
    df['tag2'] = np.digitize(df['index'],bins = sbin)
    g = df.groupby(['tag2'])
    #分段处理数据,获取各段停留状态的时间差的和
    list3 = []
    for name,df in g:
        x = np.array(df['时间差'].values)
        if x.shape[0] == 0:
            continue
        stayTime = df['时间差'].groupby([df['tag1']]).sum()
        if 0 in stayTime.keys().values:#判断0这个索引是否在返回值里边,如果在就打印
            #print(df)
            print(stayTime.values[0])
            #list3.append(stayTime.values[0])

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:bins 数据分组 批处理 Dig bin

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-5 02:47