相关疑难解决方法(0)

Pandas DataFrame:如何通过连续值进行分组

我在DataFrame中有一个包含值的列:

[1, 1, -1, 1, -1, -1]
Run Code Online (Sandbox Code Playgroud)

我该如何将它们分组呢?

[1,1] [-1] [1] [-1, -1]
Run Code Online (Sandbox Code Playgroud)

python group-by dataframe pandas cumsum

13
推荐指数
3
解决办法
5945
查看次数

python将数据帧中的行组合在一起并添加值

我有一个数据帧:

 Type:  Volume:
 Q     10
 Q     20 
 T     10 
 Q     10
 T     20
 T     20
 Q     10
Run Code Online (Sandbox Code Playgroud)

并且我想将类型T组合到一行,并且只有当两个(或更多)Ts是连续的时才加总音量

即:

 Q    10
 Q    20 
 T    10 
 Q    10 
 T    20+20=40
 Q    10
Run Code Online (Sandbox Code Playgroud)

有没有办法实现这个目标?会DataFrame.groupby工作吗?

python

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

Pandas 条件滚动计数

我有一个从 Pandas 延伸出来的问题:条件滚动计数。我想在数据框中创建一个新列,反映满足多个条件的累积行数。

使用以下示例和来自 stackoverflow 25119524 的代码

import pandas as pd


l1 =["1", "1", "1", "2", "2", "2", "2", "2"]
l2 =[1, 2, 2, 2, 2, 2, 2, 3]
l3 =[45, 25, 28, 70, 95, 98, 120, 80]
cowmast = pd.DataFrame(list(zip(l1, l2, l3))) 

cowmast.columns =['Cow', 'Lact', 'DIM']

def rolling_count(val):
    if val == rolling_count.previous:
        rolling_count.count +=1
    else:
        rolling_count.previous = val
        rolling_count.count = 1
    return rolling_count.count
rolling_count.count = 0 #static variable
rolling_count.previous = None #static variable

cowmast['xmast'] = cowmast['Cow'].apply(rolling_count) #new …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

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

Python Pandas:条件滚动计数

这是我的输入数据框

type
a   
a   
a   
a   
a   
b   
b   
a   
a   
a
Run Code Online (Sandbox Code Playgroud)

这是我的预期输出

type,   id
a   ,   1
a   ,   2
a   ,   3
a   ,   4
a   ,   5
b   ,   5
b   ,   5
a   ,   6
a   ,   7
a   ,   8
Run Code Online (Sandbox Code Playgroud)

我需要ID基于'type'列生成列。我有两种类型'a''b'..,只要'a'我想增加ID。如果'b',请保持先前状态'a' ID。如何在Pandas数据框中执行此操作?

python series dataframe pandas

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

标签 统计

python ×4

dataframe ×3

pandas ×3

cumsum ×1

group-by ×1

series ×1