Extracting Tuples Into Rows In A Pandas Dataframe
I have got a DataFrame that looks like this: function_name argument A B func1 (func1_arg1, func1_arg2) value_a1 b fu
Solution 1:
If you have a dataframe data_frame
then applying pd.Series after setting the index as function_name
, stacking and resetting the index will give you the resultant output
D = {'function_name': ['func1', 'func2', 'func3'],
'argument': [('func1_arg1', 'func1_arg2'),
('func2_arg1',),
('func3_arg1', 'func3_arg2', 'func3_arg3')],
'A': ['value_a1', 'value_a2', 'value_a3'],
'B': 'b'}
data_frame = pd.DataFrame(D)
new_frame = data_frame.set_index(['function_name','A','B'])['argument'].apply(pd.Series).stack().to_frame('argument').reset_index().drop('level_3',1)
Output:
function_name A B argument 0 func1 value_a1 b func1_arg1 1 func1 value_a1 b func1_arg2 2 func2 value_a2 b func2_arg1 3 func3 value_a3 b func3_arg1 4 func3 value_a3 b func3_arg2 5 func3 value_a3 b func3_arg3
Post a Comment for "Extracting Tuples Into Rows In A Pandas Dataframe"