我在使用 Wide_to_long 函数时遇到一些问题。这个例子运行良好:
Loc Nom Meas-1 Meas-2 Meas-3
200 A 0.8 1.1 1.2
201 B 4.9 5.1 5.2
pd.wide_to_long(df, 'Meas', i=['Loc','Nom'], j='Ref', sep='-').reset_index()
Loc Nom Meas Ref
200 A 0.8 1
200 A 1.1 2
200 A 1.2 3
201 B 4.9 1
201 B 5.1 2
201 B 5.2 3
我的问题是,数据框中“Meas-”后面的字符串是随机的字母数字序列号。一个基本的例子:
Loc Nom Meas-1 Meas-2D Meas-3
200 A 0.8 1.1 1.2
201 B 4.9 5.1 5.2
pd.wide_to_long(df, 'Meas', i=['Loc','Nom'], j='Ref', sep='-').reset_index()
Loc Nom Meas Meas-2D Ref
200 A 0.8 1.1 1
200 A 1.2 1.1 3
201 B 4.9 5.1 1
201 B 5.2 5.1 3
更糟糕的是,如果所有“Meas-”部分后面都跟着包含字母的字符串,我会收到一个空数据帧错误:
Loc Nom Meas-1D Meas-2D Meas-3D
200 A 0.8 1.1 1.2
201 B 4.9 5.1 5.2
pd.wide_to_long(df, 'Meas', i=['Loc','Nom'], j='Ref', sep='-').reset_index()
Empty DataFrame
我怎样才能让这个函数使用“Meas-”后面的任何字符串作为参考,而不仅仅是数字?
Thanks!