小编Cyr*_* YU的帖子

Pandas:计算连续的重复项(不使用循环)并将列添加到原始 DataFrame

import pandas as pd
value = [1,1,2,2,2,1,2,2,2,3,3,4]
df = pd.DataFrame(value)

df['count'] = [2,2,3,3,3,1,3,3,3,2,2,1]
Run Code Online (Sandbox Code Playgroud)

我想生成“计数”列,但不使用循环,因为原始数据很大。

有没有函数或其他有效的方法来做到这一点?

python dataframe pandas

3
推荐指数
1
解决办法
855
查看次数

熊猫:计算有条件的连续行

我有一张这样的表:

name = ['a','a','a','a','a','b','b','b','b']
fillrate = [0.1, 0.1, 0.2, 0.1, 0.1, 0.3, 0.3, 0.3, 0.4]
df = pd.DataFrame(name)
df.columns = ['name']
df['fillrate'] = fillrate
Run Code Online (Sandbox Code Playgroud)

我想创建一个这样的列:

df['count'] = [1,2,1,2,3,1,2,3,1]
Run Code Online (Sandbox Code Playgroud)

说明:当有新名称或填充率增加时,'count' 列重置为 1;否则,'count' 列等于最后一个值加 1。

使用循环很容易做到这一点,但我想避免这种情况,因为数据很大。有没有其他方法可以做到?

python excel dataframe pandas

1
推荐指数
1
解决办法
325
查看次数

标签 统计

dataframe ×2

pandas ×2

python ×2

excel ×1