问题描述
我目前正在使用pandas和python 3.6.5在一个大型数据库上工作,该数据库具有300万行和200列。
该数据库的两列包含我要比较并突出其差异的评级(低,中低,中高和高)。
以下是我的数据示例:
>>> df
ID rating_A rating_B
0 AAA0001 LOW LOW
1 AAA0002 LOW MEDIUM-LOW
2 AAA0003 MEDIUM-LOW LOW
3 AAA0004 MEDIUM-HIGH HIGH
4 AAA0005 HIGH MEDIUM-HIGH
我想在某种类型的数据透视表中输出差异,这将使我能够准确地识别出差异并计算它们。我正在寻找全局,我不希望数据库中具有不同等级的ID。
我考虑过这种输出:
>>> df2
rating A B_LOW B_MEDIUM-LOW B_MEDIUM-HIGH B_HIGH
0 LOW x x x x
1 MEDIUM-LOW x x x x
2 MEDIUM-HIGH x x x x
3 HIGH x x x x
我一直在考虑如何到达那里,但是我想到的唯一解决方案是一个古老的“如果森林”,它写起来会很痛苦,而且效果不是很好。
例如:
>>> for row in df.itertuples():
... if row.rating_A == "LOW" and row.rating_B == "LOW":
... df2.loc[0,'B_LOW'] += 1
... elif row.rating_A == "LOW" and row.rating_B == "MEDIUM-LOW":
... df2.loc[0,'B_MEDIUM-LOW']
(...)
有没有办法使用熊猫或其他python库更有效地解决该问题?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)