["python","list","pandas","insert","dataframe"]
Python pandas insert list into a cell

I have a list 'abc' and a dataframe 'df': abc = ['foo', 'bar'] df = A B 0 12 NaN 1 23 NaN I want to insert the list into cell 1B, so I want this result: A B 0 12 NaN 1 23 ['foo', 'bar'] Ho can I do that? 1) If I use this: df.ix[1,'B'] = abc I get the following error message: ValueError: Must have equal len keys and value when setting with an iterable because it tries to insert the list (that has two elements) into a row / column but not into a cell. 2) If I use this: df.ix[1,'B'] = [abc] then it inserts a list that has only one element that is the 'abc' list ( [['foo', 'bar']] ). 3) If I use this: df.ix[1,'B'] = ', '.join(abc) then it inserts a string: ( foo, bar ) but not a list. 4) If I use this: df.ix[1,'B'] = [', '.join(abc)] then it inserts a list but it has only one element ( ['foo, bar'] ) but not two as I want ( ['foo', 'bar'] ). Thanks for help! EDIT My new dataframe and the old list: abc = ['foo', 'bar'] df2 = A B C 0 12 NaN 'bla' 1 23 NaN 'bla bla' Another dataframe: df3 = A B C D 0 12 NaN 'bla' ['item1', 'item2'] 1 23 NaN 'bla bla' [11, 12, 13] I want insert the 'abc' list into df2.loc[1,'B'] and/or df3.loc[1,'B']. If the dataframe has columns only with integer values and/or NaN values and/or list values then inserting a list into a cell works perfectly. If the dataframe has columns only with string values and/or NaN values and/or list values then inserting a list into a cell works perfectly. But if the dataframe has columns with integer and string values and other columns then the error message appears if I use this: df2.loc[1,'B'] = abc or df3.loc[1,'B'] = abc. Another dataframe: df4 = A B 0 'bla' NaN 1 'bla bla' NaN These inserts work perfectly: df.loc[1,'B'] = abc or df4.loc[1,'B'] = abc.
df3.set_value(1, 'B', abc) works for any dataframe. Take care of the data type of column 'B'. For example, a list can not be inserted into a float column, at that case df['B'] = df['B'].astype(object) can help.