gpt4 book ai didi

python - 具有随机 id 变量的 Pandas wide_to_long

转载 作者:太空宇宙 更新时间:2023-11-04 02:24:25 25 4
gpt4 key购买 nike

我在使用 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-”后面的任何字符串作为 Ref,而不仅仅是数字?

谢谢!

最佳答案

你应该看看suffix参数。(如果你没有提到它,它会默认寻找数字'\d+',因为'2D'不是数字, 然后什么都不返回)

pd.wide_to_long(df, 'Meas', i=['Loc','Nom'], j='Ref', sep='-',suffix='\w+').reset_index()
Out[289]:
Loc Nom Ref Meas
0 200 A 1 0.8
1 200 A 2D 1.1
2 200 A 3 1.2
3 201 B 1 4.9
4 201 B 2D 5.1
5 201 B 3 5.2

关于python - 具有随机 id 变量的 Pandas wide_to_long,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50806659/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com