获取dataframe列中特定值的所有数据帧

问题描述 投票:-2回答:1

我有一个DataFrame看起来像这样:

       import numpy as np
       import pandas as pd

       df=pd.DataFrame([['d',5,6],['a',6,6],['index',5,8],['b',3,1],['b',5,6],['index',6,7],
            ['e',2,3],['c',5,6],['index',5,8]],columns=['A','B','C'])

我想选择index之间的所有行并创建许多数据帧

我想获得所有:

dataframe1:

         A  B   C
 1       a  6   6
 2   index  5   8
 3      3   b   3   

数据帧2

                A   B   C
         4      b   5   6
         5  index   6   7
         6      c   2   3

Matafrma:

                   A   B    C
              7    c    5   6
              8 index   5   8
              9    4    3   1

dataframe4:

                            A  B   C

                     11    5    2   3
                     12 index   4   2
                     13   1     2   5
python pandas numpy dataframe
1个回答
0
投票
index_list = df.index[df['A'] == 'index'].tolist() # create a list of the index where df['A']=='index'
new_df = [] # empty list for dataframes
for i in index_list: # for loop
    try:
        new_df.append(df.iloc[i-1:i+2])
    except:
        pass

这会创建一个数据框列表,您可以通过new_df[0] new_df[1]调用它们,或者使用循环将它们打印出来:

for i in range(len(new_df)):
    print(f'{new_df[i]}\n')

       A  B  C
1      a  6  6
2  index  5  8
3      b  3  1

       A  B  C
4      b  5  6
5  index  6  7
6      e  2  3

       A  B  C
7      c  5  6
8  index  5  8
© www.soinside.com 2019 - 2024. All rights reserved.