разбить фрейм данных на отдельные фреймы данных или список по одинаковым значениям строк - PullRequest
0 голосов
/ 09 мая 2020

Я хочу, чтобы этот фрейм данных был в отдельных фреймах данных или списке на основе ИМЯ, которое является динамическим c (SN, HH, LS, O S .....), я устал от groupby, но, похоже, нет никакого способа разрыв с одинаковыми значениями строк в разных фреймах.

NAME    VALUES
0      S N     1.74
1      S N    24.97
2      S N    10.49
3      H H    11.17
4      S N     5.99
5      H H     2.95
6      H H    16.13
7      H H     2.06
8      H H     6.87
9      S N     2.54
10     H H    19.87
11     H H    48.00
12     H H    11.91
13     S N     4.56
14     S N    15.17
15     O S     4.59
16     H H     4.80
17     H H     7.89
18     H H    22.22
19     H H     6.84
20     S N    12.43
21     H H     9.92
22     H H    31.73
23     S N     6.61
24     S N     5.89
25     H H    12.76
26     H H     4.26
27     H H    20.01
28     S N    30.46
29     S N     5.98
30     S N    15.56
31     D L    61.71
32     H H     7.13
33     H H     1.97
34     H H    47.93
35     O S    16.19
36     H H     1.88
37     S N     5.38
38     H H      NaN
39     H H     9.87
40     H H    44.02
41     H H    17.85
42     H H    23.87
43     S N    11.32
44     H H    10.04
45     S N     1.10
46     L S    23.85
47     S N    12.84
48     H H     0.06
49     O S     0.49
50     O S     0.00
51     H H     0.04

Dataframe 1

Name Values
SN   1.74
SN   24.97

Dataframe 2

Name Values
HH   1.74
HH   24.97

Dataframe 3

Name Values
L S   1.74
L S   24.97

Et c ..

1 Ответ

0 голосов
/ 09 мая 2020

вы можете преобразовать столбец в массив numpy, а затем использовать numpy.unique(), чтобы сохранить список только с одной копией каждого уникального значения в Name. Затем вы можете перебирать этот список и брать только релевантные строки из фрейма данных, используя dataframe.loc

(я все еще думаю, что решение groupby является самым простым, но если вы хотите его избежать - приведенный выше вариант - другой вариант)

...