Re: Map onto a column
- To: mathgroup at smc.vnet.net
- Subject: [mg125449] Re: Map onto a column
- From: Bill Rowe <readnews at sbcglobal.net>
- Date: Wed, 14 Mar 2012 00:40:03 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
On 3/13/12 at 3:02 AM, slypandemia at gmail.com (Sly Pandemia) wrote: >Is there a neat way to map a function onto a specific column in an >array? >For example if I have >a = {{1,2,3},{4,5,6},{7,8,9}} >and I want to map f onto the second element in each row. I would >normally use >b = Map[MapAt[f,#,2]&,a] >but this seems a bit awkward. I would expect to be able to use >b = MapAt[f,a,{All,2}] >but this appears to be illegal syntax. >Is there any way to do what I want with a single Map/MapAt function? Here is one way. But I don't that it will be any more satisfactory to you MapAt[f, a, Table[{n, 2}, {n, 3}]] And to show this is the same In[4]:= MapAt[f, a, Table[{n, 2}, {n, 3}]] == Map[MapAt[f, #, 2] &, a] Out[4]= True Or how about re-writing your solution as MapAt[f,#,2]&/@a