【发布时间】:2022-12-31 05:01:06
【问题描述】:
让我们考虑这个 DataFrame :
import pandas as pd
df = pd.DataFrame({"type" : ["dog", "cat", "whale", "cat", "cat", "lion", "dog"],
"status" : [False, True, True, False, False, True, True],
"age" : [4, 6, 7, 7, 1, 7, 5]})
看起来像这样:
type status age
0 dog False 4
1 cat True 6
2 whale True 7
3 cat False 7
4 cat False 1
5 lion True 7
6 dog True 5
我想根据以下内容拆分此数据框连续相同的值在列状态中。 结果存储在列表中。
在这里我手动写下预期结果:
result = [df.loc[[0],:], df.loc[1:2,:], df.loc[3:4,:], df.loc[5:6,:]]
所以 result[0] 是这个数据帧:
type status age
0 dog False 4
结果 [1] 是这个数据框:
type status age
1 cat True 6
2 whale True 7
结果 [2] 是这个数据框:
type status age
3 cat False 7
4 cat False 1
结果 [3] 是数据帧:
type status age
5 lion True 7
6 dog True 5
最有效的方法是什么?
【问题讨论】:
标签: python pandas dataframe split sequence