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()
将在同一个图上以单独的行显示每一列。如果你需要更多关于合并的帮助,我建议你用一个工作示例来回答一个新问题,其中包含你正在谈论的化学、动物、效应数据的样本。