在
source
代码。0.22.0(我的旧版本)
for col in id_vars:
mdata[col] = np.tile(frame.pop(col).values, K)
mcolumns = id_vars + var_name + [value_name]
它将返回数据类型对象
np.tile
.
它已在0.23.4中修复(在我更新
pandas
df.melt('Cat')
Out[6]:
Cat variable value
0 A L_1 1
1 B L_1 4
2 C L_1 7
3 A L_2 2
4 B L_2 5
5 C L_2 8
6 A L_3 3
7 B L_3 6
8 C L_3 9
df.melt('Cat').dtypes
Out[7]:
Cat category
variable object
value int64
dtype: object
更多信息如何修复:
for col in id_vars:
id_data = frame.pop(col)
if is_extension_type(id_data): # here will return True , then become concat not np.tile
id_data = concat([id_data] * K, ignore_index=True)
else:
id_data = np.tile(id_data.values, K)
mdata[col] = id_data