首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分裂之间没有共同价值的分裂熊猫

分裂之间没有共同价值的分裂熊猫
EN

Stack Overflow用户
提问于 2022-08-23 02:58:06
回答 1查看 31关注 0票数 0

我有一个ID栏的熊猫数据,如下所示。

代码语言:javascript
复制
ID
1 
1
1
20
20
30
50
50
51
60
60
300
300
302
302
500

有什么自动高效的方法吗?我可以把它分割成n,比如说n=4块。

代码语言:javascript
复制
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

应该注意的是,

每个块的

  1. 大小可能不相同。
  2. 没有任何块之间的公共值。

我试过使用简单的df_split = np.array_split(df, 4),但在上面的两个条件中不满足条件2。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-23 04:10:21

使用groupby拆分数据。

代码语言:javascript
复制
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')]

如果你想把这个结果分成四个组,

代码语言:javascript
复制
df_grouped_new = [df_grouped[0], df_grouped[1], df_grouped[2], pd.concat(df_grouped[3:])]

然后

代码语言:javascript
复制
print(df_grouped_new[0])
>>> 
   id
0   1
1   1
2   1
代码语言:javascript
复制
print(df_grouped_new[1])
>>>
   id
3  20
4  20
代码语言:javascript
复制
print(df_grouped_new[2])
>>>
   id
5  30
代码语言:javascript
复制
print(df_grouped_new[3])
>>> 
     id
6    40
7    40
8    51
9    60
10   60
11  300
12  300
13  302
14  302
15  500
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73452673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档