【发布时间】:2015-06-03 11:03:34
【问题描述】:
假设我有一个对象列表(在本例中为数据框)
myList = [dataframe1, dataframe2, dataframe3 ...]
我想遍历我的列表并根据列表项的名称创建新对象。我想要的是每个数据帧的旋转版本,称为“dataframe[X]_pivot”,其中 [X] 是该数据帧的标识符。
我的伪代码类似于:
for d in myList:
d+'_pivot' = d.pivot_table(index='columnA', values=['columnB'], aggfunc=np.sum)
我想要的输出如下所示:
myList = [dataframe1, dataframe2 ...]
dataframe1_pivoted # contains a pivoted version of dataframe1
dataframe2_pivoted # contains a pivoted version of dataframe2
dataframe3_pivoted # contains a pivoted version of dataframe3
我们将不胜感激。
谢谢
约翰
【问题讨论】:
-
通常,如果您想要多个相同类型的数据,请将其放在一个列表中。
-
为什么不
pivots = [d.pivot_table(index='columnA', values=['columnB'], aggfunc=np.sum) for d in myList]? -
@PeterWood - 我对你的评论感到困惑;已经有一个涉及的列表
-
@ŁukaszR。不完全是我的想法。我想创建一组旋转数据帧,每个原始数据帧一个。例如dataframe1_pivoted, dataframe2_pivoted Lukasz,您的解决方案会生成一个名为“pivot”的 df
-
当然可以,但是您为什么要这样做?我在这里闻到了 XY 问题。
标签: python list for-loop naming