Python 按第一列合并后,将数据帧的列合并到列表中

Python 按第一列合并后,将数据帧的列合并到列表中,python,group-by,pandas,Python,Group By,Pandas,我有一个数据帧: df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'], 'B' : ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'], 'C' : np.random.randn(8), 'D' : np.random.randn(8)}) 这就产生了: A B

我有一个数据帧:

df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar',
   'foo', 'bar', 'foo', 'foo'],
   'B' : ['one', 'one', 'two', 'three',
   'two', 'two', 'one', 'three'],
   'C' : np.random.randn(8), 'D' : np.random.randn(8)})
这就产生了:

     A      B         C         D
0  foo    one -0.151044  2.235048
1  bar    one -0.732017  0.415994
2  foo    two -1.203263 -1.178483
3  bar  three  0.329306  0.356476
4  foo    two  0.512176 -2.640831
5  bar    two -0.997254  0.504314
6  foo    one  0.434732  0.751182
7  foo  three -0.558386 -1.563932
一个组可以通过A或B进行分组,这将在新的数据帧中给出C和D的值作为列表?group_concat在mysql中的工作方式

grouped = df.groupby('A').apply(WhatFunctionCanIUse)

数据框中的列表通常不便于使用。也许有一种更自然的方式去做你最终想要做的事情。如果你详细说明,也许有人会建议一个更惯用的解决方案

但是,要回答您的问题,您可以应用
list

In [26]: df.groupby('A').C.apply(list)
Out[26]: 
A
bar                     [-0.732017, 0.329306, -0.997254]
foo    [-0.151044, -1.203263, 0.512176, 0.434732, -0....
dtype: object

好吧,我想做的是让我的所有结果都从mysql中准备好,然后进行不同类型的合并以获得我的图。e、 比如说你有化学物质对动物对效果的结果。我想在一张图上看到动物合并的不同化学效应图。如果你能将“合并”数据放入数据框的列中,那么
.plot()
将在同一个图上以单独的行显示每一列。如果你需要更多关于合并的帮助,我建议你用一个工作示例来回答一个新问题,其中包含你正在谈论的化学、动物、效应数据的样本。