【Python】pandas的dataframe根据行索引值分组

处理这么一个pandas的dataframe数据数据:
在这里插入图片描述
这里行索引是连续n个0-m的序列,这个m不是固定值
比如0-6、0-8……0-55,现在想把每一个0~m分为一个单独的dataframe。
本来想用groupby(),研究了半天感觉不太行,还是得自己分。

#新建一列保存原来的index
maxmin_all_locations["index"] = maxmin_all_locations.index
#把索引重置一下,从0正向排序
maxmin_all_locations = maxmin_all_locations.reset_index(drop=True)

整理好是这样:
在这里插入图片描述
然后按照index==0的行定位截断:

# 获取行索引中 0 的位置
zero_indices = maxmin_all_locations.index[maxmin_all_locations['index'] == 0].tolist()
# 分组
groups = []
for i in range(len(zero_indices) - 1):
    start_index = zero_indices[i]
    end_index = zero_indices[i + 1]
    group = maxmin_all_locations.iloc[start_index:end_index]
    groups.append(group)
# 处理最后一组数据
last_group = maxmin_all_locations.iloc[zero_indices[-1]:]
groups.append(last_group)
# 打印每个组的大小
for i, group in enumerate(groups):
    print(f"Group {i}: {group.shape}")

打印出来结果如下:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python pandas是一个数据分析工具,提供了DataFrame数据结构,它有许多常见的函数可以对数据进处理和分析。 1. 读取数据:通过read_csv()函数可以将csv格式的文件读取为DataFrame对象,并通过to_csv()函数将DataFrame对象保存为csv文件。 2. 选取数据:使用loc()和iloc()函数可以根据标签或索引选取DataFrame中的和列。例如,df.loc[0]可以选择第一,df.loc[:, 'A']可以选择'A'列。 3. 描述数据:describe()函数可以提供DataFrame中数列的基本统计信息,如计数、均、标准差等。 4. 排序数据:通过sort_values()函数可以根据指定的列或多个列对DataFrame排序。 5. 筛选数据:使用条件表达式可以筛选出满足条件的数据,例如df[df['A'] > 0]可以筛选出'A'列大于0的数据。 6. 缺失处理:fillna()函数可以将DataFrame中的缺失用指定的填充,dropna()函数可以删除包含缺失或列。 7. 合并数据:通过concat()和merge()函数可以将多个DataFrame对象按指定的方式合并成一个新的DataFrame。 8. 统计计算:DataFrame提供了一些常见的统计计算函数,如sum()、mean()、median()等,可以对指定的列进计算。 9. 分组操作:使用groupby()函数可以按照指定的列对DataFrame分组操作,然后进聚合计算,如求和、平均等。 10. 数据透视表:使用pivot_table()函数可以根据指定的和列对DataFrame透视操作,类似于Excel中的数据透视表。 这些函数只是常见的一部分,Python pandas还提供了很多其他强大的函数和特性,可以根据实际需求去探索和应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值