Pandas 面板申请: getting current index

标签 pandas

如果我在轴 1(每行)上的 pandas DataFrame 上调用 apply(),我每次都会得到一个系列。然后我可以使用 Series.name 来访问当前行的索引值。

但是对于面板,沿着特定的轴我每次都得到一个 DataFrame 并且没有 DataFrame.name,我怎么知道我在我正在应用的函数中的索引?

我可以使用 for 循环,但出于各种原因我需要使用 apply。

谢谢。

最佳答案

实际上在 Panel 的情况下,name 仍然有效它只是返回一个元组:

wp = pd.Panel(np.random.randn(2, 5, 4), items=['Item1', 'Item2'],
                  major_axis=pd.date_range('1/1/2000', periods=5),
                  minor_axis=['A', 'B', 'C', 'D'])
wp.apply(lambda x: print(x.name))

x.name 在这种情况下产生:

('Item1', 'A')
('Item1', 'B')
('Item1', 'C')
('Item1', 'D')
('Item2', 'A')
('Item2', 'B')
('Item2', 'C')
('Item2', 'D')

所以你可以简单地解压元组并获取索引

关于 Pandas 面板申请: getting current index,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41655972/

相关文章:

python - 将数据帧值拆分为指定数量的组并应用函数 - pandas

python - Pandas - Case when & default in pandas

python - 如何将所有字符串(如 "Fault")转换为唯一的 float ?

python - 根据另一个的范围和类别填充 Pandas 列

python - Pandas DatetimeIndex 将日期转换为 1970 年

Python Pandas : Vectorized operation bug?

python - 总结当前行与上一行的差异

python - 使用条件连接语句加入 Pandas Dataframe

python - 将多列组合为单个日期时间的最佳方法是什么

python - 将字典传输到 DataFrame?