我需要通过将 x 和 y 除以宽度和高度来规范化我的数据。
X/宽度和 Y/高度
输入数据帧示例:
ID X1 Y1 X2 Y2 X3 Y3 X4 Y4 X5 Y5 Width Height
1 1 2 1 2 1 2 1 2 1 2 2 10
2 1 2 1 2 1 2 1 2 1 2 2 10
输出数据帧
ID X1n Y1n X2n Y2n X3n Y3n X4n Y4n X5n Y5n
1 .5 .2 .5 .2 .5 .2 .5 .2 .5 .2
2 .5 .2 .5 .2 .5 .2 .5 .2 .5 .2
请您参考如下方法:
df.update(df.filter(like='X').div(df['Width'],0))
df.update(df.filter(like='Y').div(df['Height'],0))
df = df.drop(columns=['Width','Height']).add_suffix('n').rename(columns={'IDn':'ID'})
df
输出:
ID X1n Y1n X2n Y2n X3n Y3n X4n Y4n X5n Y5n
0 1 0.5 0.2 0.5 0.2 0.5 0.2 0.5 0.2 0.5 0.2
1 2 0.5 0.2 0.5 0.2 0.5 0.2 0.5 0.2 0.5 0.2
