Вырезать фрейм данных в строке - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть фрейм данных, который я хочу вырезать в определенной строке, а затем хочу добавить этот фрейм справа от фрейма данных.

Надеюсь, мой пример проясняет, что я имею в виду.

Ценю вашу помощь.

Пример:

  Column_name1 Column_name2 column_name3  Column_name4
0
1
2
3
4
5------------------------------------------------------< cut here
6
7
8
9
10

  Column_name1 Column_name2 column_name3  column_name4   column_name5 
0                                                      5
1                                                      6
2                                                      7  add cut here
3                                                      8
4                                                      9

1 Ответ

0 голосов
/ 13 ноября 2018

Использование:

df = pd.DataFrame({
        'A':list('abcdef'),
         'B':[4,5,4,5,5,4],
         'C':[7,8,9,4,2,3],
         'D':[1,3,5,7,1,0],
         'E':[5,3,6,9,2,4],
         'F':list('aaabbb')
})



n = 3
df = pd.concat([df.iloc[:n].reset_index(drop=True),
                df.iloc[n:].add_prefix('cutted_').reset_index(drop=True)], axis=1)
print (df)
   A  B  C  D  E  F cutted_A  cutted_B  cutted_C  cutted_D  cutted_E cutted_F
0  a  4  7  1  5  a        d         5         4         7         9        b
1  b  5  8  3  3  a        e         5         2         1         2        b
2  c  4  9  5  6  a        f         4         3         0         4        b

n = 5
df = pd.concat([df.iloc[:n].reset_index(drop=True),
                df.iloc[n:].add_prefix('cutted_').reset_index(drop=True)], axis=1)
print (df)
   A  B  C  D  E  F cutted_A  cutted_B  cutted_C  cutted_D  cutted_E cutted_F
0  a  4  7  1  5  a        f       4.0       3.0       0.0       4.0        b
1  b  5  8  3  3  a      NaN       NaN       NaN       NaN       NaN      NaN
2  c  4  9  5  6  a      NaN       NaN       NaN       NaN       NaN      NaN
3  d  5  4  7  9  b      NaN       NaN       NaN       NaN       NaN      NaN
4  e  5  2  1  2  b      NaN       NaN       NaN       NaN       NaN      NaN
...