You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为整个DataFrame添加行计数?附现有分组统计实现

为DataFrame添加行计数的实用方法

看起来你已经搞定了按subreddit分组统计body列行数的操作,现在想要给整个原始DataFrame添加行计数?这里有几种贴合不同需求的实现方式:

一、添加全局行序号(从1开始的连续计数)

如果需要给每一行一个全局唯一的序号,直接生成计数序列赋值给新列即可:

# 生成从1到DataFrame总行数的序列,作为行计数列
df['row_count'] = range(1, len(df) + 1)

要是你的DataFrame索引不是连续整数,也可以先重置索引再生成:

# 重置索引(丢弃原索引),让索引从0开始
df = df.reset_index(drop=True)
# 基于索引生成从1开始的行计数
df['row_count'] = df.index + 1

二、添加分组内的行计数

如果你的需求是在每个subreddit分组内部给行编号(比如每个小组内从1开始计数),可以用groupby配合cumcount():

# 每个subreddit分组内的行计数,默认从0开始,+1后变为从1开始
df['group_row_count'] = df.groupby('subreddit').cumcount() + 1

三、快速获取整个DataFrame的总行数

要是你只是想统计整个DataFrame一共有多少行,不用新增列,直接用这两个方法就能得到:

# 方法1:用len()获取行数
total_rows = len(df)
# 方法2:用shape属性,shape[0]代表行数,shape[1]是列数
total_rows = df.shape[0]

举个直观的例子

假设你的原始DataFrame是这样的:

subredditbody
0xProjectpost content 1
0xProjectpost content 2
100sexiestpost content 3

用第一种方法添加全局行计数后,结果会是:

subredditbodyrow_count
0xProjectpost content 11
0xProjectpost content 22
100sexiestpost content 33

用第二种方法添加分组内计数后,结果会是:

subredditbodygroup_row_count
0xProjectpost content 11
0xProjectpost content 22
100sexiestpost content 31

内容的提问来源于stack exchange,提问作者Parseltongue

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:19:18