python - Pandas:如何创建一个简单的计数器来增加每 n 行?

标签 python pandas

有没有办法创建一个每 n 行增加 1 的计数器?

示例 ===> 计数器每 4 行递增:

        counter
    0    1
    1    1
    2    1
    3    1
    4    2
    5    2
    6    2
    7    2
    8    3
    9    3

我正在尝试 df['counter'] = np.arange(len(df)//4) 但我得到了索引错误的长度

谢谢

最佳答案

你很接近,需要:

df['counter'] = np.arange(len(df)) // 4 + 1
print (df)
   counter
0        1
1        1
2        1
3        1
4        2
5        2
6        2
7        2
8        3
9        3

您的解决方案不起作用,因为具有 2 个值的数组已分配给列:

print (len(df)//4)
2

print (np.arange(len(df)//4))
[0 1]

但是如果需要像 DataFrame 这样大小相同的数组:

print (np.arange(len(df)))
[0 1 2 3 4 5 6 7 8 9]

关于python - Pandas:如何创建一个简单的计数器来增加每 n 行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53540481/

相关文章:

python - 使用 pandas 从一列字典创建一个热编码

python - 数据科学模型达到非常高的、意想不到的准确度?

python - PySide/PyQt 中 QTableWidget 的 QMenu

python - 如何在 NLP 中的 TweetTokenizer 步骤中删除标点符号和数字?

python - python中的图形线条颜色

python - 在 groupby 对象中用 "ones"填充缺失的组合

python - Pandas - 在多列上使用 `.rolling()`

python - 如何迭代包含字符串列表的 pandas 行以检查每个单词是否为英文?

python - 如何将自定义 Pytorch 模型转换为 torchscript(pth 到 pt 模型)?

python - 值错误 : Unknown label type: 'unknown'