[英]Pandas groupby split by NaN
我有一個問題,請教各位
我想像grp1,grp2,grp3,grp4那樣拆分df
下面的數據是一個示例,我確實需要處理大量數據,所以請告訴我如何適當地處理。
df =
A1 B1
2021-03-18 00:00:00 10 23
2021-03-18 00:00:01 11 28
2021-03-18 00:00:02 12 29
2021-03-18 00:00:03 NaN NaN
2021-03-18 00:00:04 NaN NaN
2021-03-18 00:00:05 42 32
2021-03-18 00:00:06 51 90
2021-03-18 00:00:07 NaN NaN
2021-03-18 00:00:08 90 101
2021-03-18 00:00:09 32 42
2021-03-18 00:00:10 NaN NaN
2021-03-18 00:00:11 575 333
2021-03-18 00:00:12 62 421
grp1 =
A1 B1
2021-03-18 00:00:00 10 23
2021-03-18 00:00:01 11 28
2021-03-18 00:00:02 12 29
grp2 =
A1 B1
2021-03-18 00:00:05 42 32
2021-03-18 00:00:06 51 90
grp3 =
A1 B1
2021-03-18 00:00:08 90 101
2021-03-18 00:00:09 32 42
grp4 =
A1 B1
2021-03-18 00:00:11 575 333
2021-03-18 00:00:12 62 421
嘗試:
x = (df.shift(1).isnull() & df.notnull()).cumsum()['B1']
df_list = []
for i,g in df.groupby(x):
print(i,g.dropna())
df_list.append(g.dropna())
1 A1 B1
2021-03-18 00:00:00 10.0 23.0
00:00:01 11.0 28.0
00:00:02 12.0 29.0
2 A1 B1
2021-03-18 00:00:05 42.0 32.0
00:00:06 51.0 90.0
3 A1 B1
2021-03-18 00:00:08 90.0 101.0
00:00:09 32.0 42.0
4 A1 B1
2021-03-18 00:00:11 575.0 333.0
00:00:12 62.0 421.0
df_list
將包含所有分組的 dataframe。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.