我有一个ID栏的熊猫数据,如下所示。
ID
1
1
1
20
20
30
50
50
51
60
60
300
300
302
302
500有什么自动高效的方法吗?我可以把它分割成n,比如说n=4块。
chunk-1:
ID
1
1
1
20
20
chunk-2:
ID
30
50
50
51
chunk-3:
ID
60
60
300
300
chunk-4:
ID
302
302
500应该注意的是,
每个块的
我试过使用简单的df_split = np.array_split(df, 4),但在上面的两个条件中不满足条件2。
发布于 2022-08-23 04:10:21
使用groupby拆分数据。
import pandas as pd
df = pd.DataFrame({'id': [1,1,1,20,20,30,40,40,51,60,60,300,300,302,302,500]})
df_grouped = [subgroup for _, subgroup in df.groupby('id')]如果你想把这个结果分成四个组,
df_grouped_new = [df_grouped[0], df_grouped[1], df_grouped[2], pd.concat(df_grouped[3:])]然后
print(df_grouped_new[0])
>>>
id
0 1
1 1
2 1print(df_grouped_new[1])
>>>
id
3 20
4 20print(df_grouped_new[2])
>>>
id
5 30print(df_grouped_new[3])
>>>
id
6 40
7 40
8 51
9 60
10 60
11 300
12 300
13 302
14 302
15 500https://stackoverflow.com/questions/73452673
复制相似问题