Python 多列除法
我是熊猫df,我需要在~50列之间进行质量分割Python 多列除法,python,pandas,numpy,Python,Pandas,Numpy,我是熊猫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 如何划分列,例如 罗斯代尔酒店 Trinity by Trinity_y 渴望的 Age Rosedale_r
Age Rosedale Rosedale_y Trinity Trinity_y.....etc until 50 more columns
0 1 100
1 3 106
2 2 109
3 3 108
如何划分列,例如
- 罗斯代尔酒店
- Trinity by Trinity_y
Age Rosedale_rate Trinity_rate
0 0.01
1 0.03
2 0.02
3 0.03
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
用于增加安全性,以确保两个数据帧对齐。df.Rosedale/df.Rosedale\u y
@mad\u。。。OP要求对~50列进行大规模除法。该正则表达式可以是\u y$
,因此它保证以\u y
结尾,并且不会以某种方式匹配列名称中的任何位置(不太可能-但是-您使用reindex
:)您当前的正则表达式相当于使用like=''y'
…@JonClements谢谢!