我想找到一种更简单的方法来子集dataframe并将其创建为新的dataframe
A011 = DF[DF['id']=="A011"]
A012 = DF[DF['id']=="A012"]
A013 = DF[DF['id']=="A013"]
A014 = DF[DF['id']=="A014"]这是可行的,但效率很低。我实际上有162个唯一的值。
DF = pd.DataFrame({'id': ["A011", "A012", "A012", "A012","A011", "A012", "A012", "A012"],\
'value': [1, 2, 3, 4, 1, 2, 3, 4]})
A011 = DF[DF['id']=="A011"]
A012 = DF[DF['id']=="A012"]
A013 = DF[DF['id']=="A013"]
A014 = DF[DF['id']=="A014"]期望输出
    id  value
0   A011    1
4   A011    1
    id  value
1   A012    2
5   A012    2发布于 2019-07-03 16:22:04
df = pd.DataFrame({'id': ["A011", "A012", "A012", 
"A012","A011", "A012", "A012", "A012"], 'value': [1, 2, 3, 4, 1, 2, 3, 4]})    
result = [x.reset_index(drop=True) for _, x in df.groupby(['id'])]由于您希望基于唯一的id列创建数据帧,因此我们可以根据id列对数据帧进行分组,该列为每个组返回一个数据帧。在创建的数据帧上使用reset_index删除原始索引。
https://stackoverflow.com/questions/56865354
复制相似问题