Convert df column to a tuple

Vanessa Mahoney picture Vanessa Mahoney · May 16, 2016 · Viewed 12.3k times · Source

I am having trouble converting a df column into a tuple that I can iterate through. I started with a simple code that works like this:

 set= 'pare-10040137', 'pare-10034330', 'pare-00022936', 'pare-10025987', 'pare-10036617'

 for i in set:

     ref_data=req_data[req_data['REQ_NUM']==i] 

This works fine, but now I want my set to come from a df. The df looks like this:

 open_reqs

Out[233]: 
          REQ_NUM
4825  pare-00023728
4826  pare-00023773 
.... ..............

I want all of those REQ_NUM values thrown into a tuple, so I tried to do open_reqs.apply(tuple, axis=1) and tuple(zip(open_reqs.columns,open_reqs.T.values.tolist())) but it's not able to iterate through either of these.

My old set looks like this, so this is the format I need to match to iterate through like I was before. I'm not sure if the Unicode is also an issue (when I print above I get (u'pare-10052173',)

 In[236]: set
 Out[236]: 
 ('pare-10040137',
  'pare-10034330',
  'pare-00022936',
  'pare-10025987',
  'pare-10036617')

So basically I need the magic code to get a nice simple set like that from the REQ_NUM column of my open_reqs table. Thank you!

Answer

Vanessa Mahoney picture Vanessa Mahoney · May 18, 2016

The following statement makes a list out of the specified column and then converts it to an array of tuple

open_req_list = tuple(list(open_reqs['REQ_NUM']))