python - 使用 Pandas 中列的唯一值创建一个 DataFrame

标签 python pandas

我是 Python 和 Pandas 的新手,我在解决问题时遇到了麻烦,我有一个包含多个变量的 DF,如下例所示:

SRC Data1 Data2
AAA  180   122
BBB  168   121
CCC  165   147
DDD  140   156
EEE  152   103
AAA  170   100
CCC  166   112
DDD  116   155
EEE  179   119

我期待这样的事情:

DF_A

SRC    Data1   Data2
AAA    180     122
AAA    170     100

DF_B

SRC    Data1   Data2
BBB     168     121

我需要为 SRC 中的每个值创建一个 DF,并在 Data1Data2 中携带它们各自的数据

我已经使用 pd.DataFrame(Example.SRC.unique()) 并在 SRC 中获取每个唯一值,但我不知道这是否对我有帮助。

谢谢大家!

最佳答案

执行此操作的巧妙方法是 dict(iter(g)):

In [11]: g = df.groupby("SRC", as_index=False)

In [12]: d = dict(iter(g))

In [13]: d
Out[13]:
{'AAA':    SRC  Data1  Data2
 0  AAA    180    122
 5  AAA    170    100, 'BBB':    SRC  Data1  Data2
 1  BBB    168    121, 'CCC':    SRC  Data1  Data2
 2  CCC    165    147
 6  CCC    166    112, 'DDD':    SRC  Data1  Data2
 3  DDD    140    156
 7  DDD    116    155, 'EEE':    SRC  Data1  Data2
 4  EEE    152    103
 8  EEE    179    119}

In [14]: d["AAA"]
Out[14]:
   SRC  Data1  Data2
0  AAA    180    122
5  AAA    170    100

你可以在不复制的情况下拉出子组:

In [21]: g.get_group("AAA")
Out[21]:
   SRC  Data1  Data2
0  AAA    180    122
5  AAA    170    100

注意:您可以使用 g.groups.keys() 获取可迭代的键。

关于python - 使用 Pandas 中列的唯一值创建一个 DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43878942/

相关文章:

python - 通过应用涉及相同行元素的函数来更新数据框的元素

python - 正则表达式 - 删除分隔符之间的字符串

python - 如何只删除索引名称而不删除 Pandas 多索引数据框中的内容

python - 将 markdown 格式的表格从 SO 复制到 pandas 剪贴板

Python pandas 停留在 0.7.0 版本

python - Pandas 使用列标题作为值将多个列转换/合并为单个列

python - 为什么 pandas 显示 "?"而不是 NaN

python - 如何将一列中的所有列表编译成一个唯一列表

python - Rpy2 找不到 R.dll

python - solr-thumbnail - 一些 jpeg 没有被处理