我有一个数据框,其中列是
'Jan-2001' 'Feb-2001' ... 'Dec-2001'... 'Jan-2002' ... 'Dec-2002' ... 'Jan-2018' ... 'Dec-2018'.
200 190.4 55.23 12.3 130.2 30 42
...
这些列的值是浮点数。我需要查找不同年份中同一月份的值变化。例如,我需要检查2018年3月与前一年,2017年3月相比其他月份/年份中值的变化情况。我需要标记所有与上一年相比变化30%的值。例如,如果2018年4月的值与2017年4月的值相比变化了30%,则需要对其进行标记。我最大的问题是如何在数据框中按相同月份但不同年份搜索值。
我所做的是转置数据框,所以现在我用日期而不是行中的列(date现在是数据框索引),我为数据框分配了新的列“ month”和“ date”,但不确定如何解决这个问题,如果那是要走的路。我猜不能对聚合进行分组,因为如果以总和/均值为例,而我无法更改它们,那么我的值将会更改。
更新:
转置的数据帧:
Jan-1990 200 1.2 .... 45
Feb-2001 190.4 287.5 ... 2.1
...
答案 0 :(得分:0)
您可能想使用built-in python date format。 首先,您应该将字符串解析为该日期格式,最有可能使用strptime。
然后,您可以定义1年的时间增量,并将其添加或减去到当前日期。 这将允许您在熊猫数据框中搜索相同的日期(熊猫本身支持对日期时间或日期时间段进行索引。 除了手动使用timedelta之外,您还可以使用期限为1年的pandas.date_range。