猿问

根据值分割熊猫数据框

我想将pandas数据框拆分为多个组,以便分别处理每个组。我的“ value.csv”文件包含以下数字


num tID y x height width

2   0   0   0   1   16

2   1   1   0   1   16 

5   0   1   0   1   16 

5   1   0   0   1   8 

5   2   0   8   1   8 

6   0   0   0   1   16 

6   1   1   0   1   8 

6   2   1   8   1   8

2   0   0   0   1   16

2   1   1   0   1   16 

5   0   1   0   1   16 

5   1   0   0   1   8 

5   2   0   8   1   8 

6   0   0   0   1   16 

6   1   1   0   1   8 

6   2   1   8   1   8

我想基于所述初始值的数据拆分0在tID这样的柱用于第一4分离- 。


第一的:


2   0   0   0   1   16

2   1   1   0   1   16 

第二:


5   0   1   0   1   16 

5   1   0   0   1   8 

5   2   0   8   1   8 

第三:


6   0   0   0   1   16 

6   1   1   0   1   8 

6   2   1   8   1   8

第四:


2   0   0   0   1   16

2   1   1   0   1   16 

为此,我尝试使用(如果没有成功的话)任何有效的想法来拆分它。


    import pandas as pd

    statQuality = 'value.csv'

    df = pd.read_csv(statQuality, names=['num','tID','y','x','height','width'])



    df2 = df.copy()

    df2.drop(['num'], axis=1, inplace=True)


    x = []


    for index, row in df2.iterrows():

        if row['tID'] == 0:

            x = []

            x.append(row)

            print(x)

        else:

            x.append(row)


吃鸡游戏
浏览 154回答 1
1回答

大话西游666

用:#create groups by consecutive valuess = df['num'].ne(df['num'].shift()).cumsum()#create helper count Series for duplicated groups like `2_0`, `2_1`...g = s.groupby(df['num']).transform(lambda x: x.factorize()[0])#dictionary of DataFramesd = {'{}_{}'.format(i,j): v.drop('num', axis=1) for (i, j), v in df.groupby(['num', g])}print (d){'2_0':    tID  y  x  height  width0    0  0  0       1     161    1  1  0       1     16, '2_1':    tID  y  x  height  width8    0  0  0       1     169    1  1  0       1     16, '5_0':    tID  y  x  height  width2    0  1  0       1     163    1  0  0       1      84    2  0  8       1      8, '5_1':     tID  y  x  height  width10    0  1  0       1     1611    1  0  0       1      812    2  0  8       1      8, '6_0':    tID  y  x  height  width5    0  0  0       1     166    1  1  0       1      87    2  1  8       1      8, '6_1':     tID  y  x  height  width13    0  0  0       1     1614    1  1  0       1      815    2  1  8       1      8}
随时随地看视频慕课网APP

相关分类

Python
我要回答