多列除法

2024-06-01 12:09:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我是熊猫df,我需要在~50列之间进行质量划分

 Age  Rosedale   Rosedale_y   Trinity  Trinity_y.....etc until 50 more columns   
 0    1          100
 1    3          106
 2    2          109
 3    3          108

如何划分列,例如

  • 罗斯代尔出版社
  • 三一对三一

想要的

Age   Rosedale_rate   Trinity_rate
0     0.01
1     0.03
2     0.02
3     0.03

Tags: columnsdfageratemore质量etcuntil
1条回答
网友
1楼 · 发布于 2024-06-01 12:09:52

filter可以很容易地选择所需的列,然后进行最后一次除法。你知道吗

df = df.set_index('Age')

i = df.filter(regex=r'_y$')
j = df[df.columns.difference(i.columns)]
i.columns = j.columns.str.split('_y').str[0]

df = j / i.reindex(j.columns, axis=1)

reindex用于增加安全性,以确保两个数据帧对齐。你知道吗

相关问题 更多 >