如何用2个指数迭代Pandas系列?

lzfw57am  于 2023-02-11  发布在  其他
关注(0)|答案(2)|浏览(104)

我有一个my_series系列,看起来像这样:

Index           Date      
12345           2019-01-03     14.0
                2019-01-04     65.0
                2019-01-05     81.0
                                
23456           2019-12-14    21.0
                2019-12-15    51.0
                2019-12-16    55.0

我想通过选择两个索引来遍历它的值,因为我需要对每个值执行一个操作。
目前我正在做的事情是这样的:

a_dict = {
    index : my_series[index,date] * 2 for index,date in my_series
}

但总是收到这个错误:
“numpy.float64”对象不可迭代

h43kikqp

h43kikqp1#

level='Index'上使用groupby

df.groupby(level='Index').apply(function)

或者用字典的理解:

out = {k: function(g) for k, g in df.groupby(level='Index')}
xzabzqsa

xzabzqsa2#

好了,我得到了我需要的,所以我张贴我是如何解决它的情况下,其他人也需要。
所以基本上我试图访问for index,date in my_series,变量index包含两个列“Index”和“Date”。我必须单独访问'Index'值,所以我必须做的是:

a_dict = {
      index[0] : value * 2 for index,value in my_series.items()
}

在本例中,index同时引用了我的序列中的“Index”和“Date”。通过循环my_seires.items(),我可以访问索引和我感兴趣的值。不确定我的意思是否清楚,但我是Python的新手,Pandas哈哈

相关问题