首页 > 解决方案 > 将数据框分解为单独的数据场或将 wrt 列出到相同的行值

问题描述

我希望这个数据帧在单独的数据场或基于动态名称(SN,HH,LS,OS .....)的列表中,我厌倦了 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

数据框 1

Name Values
SN   1.74
SN   24.97

数据框 2

Name Values
HH   1.74
HH   24.97

数据框 3

Name Values
L S   1.74
L S   24.97

ETC..

标签: python-3.xpandasnumpymatplotlibpandas-groupby

解决方案


您可以将列转换为 numpy 数组,然后用于numpy.unique()保留一个列表,其中仅包含 Name 中每个唯一值的一个副本。然后您可以遍历此列表并使用从数据框中仅获取相关行dataframe.loc

(我仍然认为 groupby 解决方案是最简单的,但如果你想避免它 - 以上是另一种选择)


推荐阅读