【发布时间】:2013-12-10 15:00:57
【问题描述】:
感谢阅读,我花了 3-4 个小时寻找解决此问题的示例,但找不到任何解决方法。我尝试过的那些似乎不适用于 pandas DataFrame 对象。任何帮助将不胜感激!:)
好的,这是我的问题。
我有一个包含 12 列的 Pandas DataFrame。 我有 500,000 行数据。
大部分列都是无用的。我感兴趣的变量/列称为:x,y 和利润
很多 x 和 y 点是相同的, 所以我想将它们组合成一个独特的组合,然后将每个独特组合的所有利润加起来。
每个独特的组合都是一个 bin(就像直方图中使用的 bin)
然后我想为每个 bin 绘制一个 x、y 的二维图表/热图等,并将颜色作为总利润。
例如
x,y,利润
7,4,230.0
7,5,162.4
6,8,19.3
7,4,-11.6
7,4,180.2
7,5,15.7
4,3,121.0
7,4,1162.8
注意 x=7, y=4 的值如何,有 3 行符合此条件.. 总利润应该是: 230.0 - 11.6 +1162.8 = 1381.2 所以在 bin x=7, y = 4 中,利润为 1381.2
注意值 x=7, y=5,有 2 个实例.. 总利润应为:162.4 + 15.7 = 178.1 所以在 bin x=7, y = 5 时,利润为 178.1
所以最后,我只想能够绘制:x,y,total_profit_of_bin
例如为了帮助说明我在寻找什么,我在互联网上找到了这个,它与我想要的相似,(忽略轴和数字)
http://2.bp.blogspot.com/-F8q_ZcI-HJg/T4_l7D0C7yI/AAAAAAAAAgE/Bqtx3eIHzRk/s1600/heatmap.jpg
非常感谢您花时间阅读:)
【问题讨论】:
-
但是 x 和 y 可能不会有相同数量的垃圾箱,对吧?在图表上看起来如何?缺失值,你甚至会如何表示?图表上的每个刻度代表什么?你肯定想要大小相同的垃圾箱吧?我问的原因是因为通过 groupby 传递一个函数,你想做的事情会很容易,但你不能将这些数据聚合到等长的 bin 中。您可以将它们分开,但我仍然不明白这将如何在图表上起作用。
标签: python pandas frequency heatmap