pd.melt does not allow a tuple for value_vars · Issue #15348 · pandas-dev/pandas (original) (raw)
import pandas as pd
df = pd.DataFrame({'A': [1, 2], 'B': [3, 4], 'C': [5, 6], 'D': [7, 8]}) pd.melt(df, id_vars=('A', 'B'), value_vars=('C', 'D'))
TypeError Traceback (most recent call last) in () ----> 1 pd.melt(df, id_vars=('A', 'B'), value_vars=('C', 'D'))
/Users/josh/env/analysis/lib/python3.5/site-packages/pandas/core/reshape.py in melt(frame, id_vars, value_vars, var_name, value_name, col_level) 766 if not isinstance(value_vars, (tuple, list, np.ndarray)): 767 value_vars = [value_vars] --> 768 frame = frame.ix[:, id_vars + value_vars] 769 else: 770 frame = frame.copy()
TypeError: can only concatenate list (not "tuple") to list
The documentation says that id_vars
and value_vars
can be tuples, lists, or ndarrays, but it doesn't work if value_vars
is a tuple. The function works as expected if value_vars
is given as a list.