与this R question类似,我想使用Pandas将一个函数应用于Series中的每个项目(或DataFrame中的每一行),但希望将此函数的参数用作索引或ID那一排。作为一个简单的例子,假设我们想创建一个形式为[(index_i,value_i),...,(index_n,value_n)]的元组列表。用一个简单的Python for循环,我可以这样做: 熊猫行特定适用
In [1] L = []
In [2] s = Series(['six', 'seven', 'six', 'seven', 'six'],
index=['a', 'b', 'c', 'd', 'e'])
In [3] for i, item in enumerate(s):
L.append((i,item))
In [4] L
Out[4] [(0, 'six'), (1, 'seven'), (2, 'six'), (3, 'seven'), (4, 'six')]
但一定要做到这一点更有效的方式?也许更多的Panda-ish像Series.apply?实际上,我并不担心(在这种情况下)返回任何有意义的东西,而更多的是为了“应用”之类的效率。有任何想法吗?
谢谢@ luke14free关于枚举的指针。最后,我可能提供了一个过于简单化的例子,但你确实提供了一个合适的答案。我真正想要的是,就像你的第三个例子,增加的条件,说,指数是行或索引的函数... –
嘿@CarsonFarmer - 看我最后编辑 – luke14free
谢谢@ luke14free。最后,我按你的建议做了,并通过重组我的数据以不同的方式解决了我的问题。 –