Python 对数据帧中的成对行执行函数

Python 对数据帧中的成对行执行函数,python,pandas,Python,Pandas,假设我有以下数据帧: >>> df=pd.DataFrame(data=['A','B','C','D','E'], columns=['Name']) >>> df Name 0 A 1 B 2 C 3 D 4 E >>> 我想为数据框中的相邻行创建一个值列表。如果我创建对的索引,我可以使用groupby获得该结果: >>> df.index=[0,0,1,1,2] >>&

假设我有以下数据帧:

>>> df=pd.DataFrame(data=['A','B','C','D','E'], columns=['Name'])
>>> df
  Name
0    A
1    B
2    C
3    D
4    E
>>> 
我想为数据框中的相邻行创建一个值列表。如果我创建对的索引,我可以使用groupby获得该结果:

>>> df.index=[0,0,1,1,2]
>>> df.groupby(level=0).agg(lambda x: list(x))
     Name
0  [A, B]
1  [C, D]
2     [E]
最有效的方法是什么?

您可以一次性按“邻接”分组(无需改变数据帧):

然后做你需要做的事情:

In [12]: g.get_group(0)
Out[12]:
  Name
0    A
1    B

In [13]: g.sum()
Out[13]:
  Name
0   AB
1   CD
2    E

“我想为数据帧中的相邻行创建一个值列表”最有效的方法是“不要”。保持它作为df,做任何你需要做的事情。另请参见。我在数据框中创建列表,还是将函数应用于相邻行的问题?在本例中,我只是随意使用了list函数,我更感兴趣的是如何将函数应用于相邻行。。。您想应用什么功能?或者问题是如何按邻接分组?谢谢你的帮助。问题确实是如何按邻接分组。有什么建议吗?
In [12]: g.get_group(0)
Out[12]:
  Name
0    A
1    B

In [13]: g.sum()
Out[13]:
  Name
0   AB
1   CD
2    E