【发布时间】:2019-05-20 22:34:27
【问题描述】:
我在数据框列表中添加多个数据框时遇到问题。我的目标是根据另一个列表中的标准从数据框列表中添加数据框。
示例:假设我们有一个包含 10 个数据帧的列表,DfList 和另一个名为 OrderList 的列表。
假设OrderList = [3, 2, 1, 4]。
然后我想以[DfList(0) + DfList(1) + DfList(2), DfList(3) + DfList(4), DfList(5), DfList(6) + DfList(7) + DfList(8) + DfList(9)] 的形式获取一个包含 4 个 Dataframe 的新列表
我尝试了几种使用DataFrame.add 创建函数的方法。最初,我希望我可以使用 sum(DfList(0), DfList(1), DfList(2)) 的形式来执行此操作,但很快我发现 sum() 似乎不受 DataFrames 的支持。
我希望使用 sum(DfList[0:2]) 之类的东西并使 OrderList 累积,所以我可以只使用 sum(DfList[OrderList[i]:OrderList[i+1]]) 但不断收到 unsupported operand type 错误。
是否有一种我没有考虑的简单方法,或者是否有完全不同的方法,你会建议?
编辑:我正在寻找的输出是另一个 DataFrames 列表,其中包含基于OrderList 的四个求和 DataFrames(跨所有列。)三个 DataFrames 加在一起用于第一个,两个用于第二个,一个用于第三个,和四对四。
【问题讨论】:
-
您好,欢迎来到 StackOverflow!我对这个问题有点困惑。首先,您有一个 DataFrame 列表,对吗?你想创建一个新的 DataFrame 列表还是创建一个新的 DataFrame 是其他的总和?二、
OrderList在其中起到了什么作用? -
我很抱歉;我应该措辞更好。我正在寻找新的 DataFrames 列表,其中包含由列表 OrderList 定义的较小列表的总和(我应该使用更好的名称。)所以对于第一个 DataFrame,我正在寻找前三个所有列的总和, 第二个 DataFrame 是接下来两个的所有列的总和,第三个 DataFrame 是下一个的所有列的总和,第四个 DataFrame 是最后四个的所有列的总和。
-
这里你要问两件事...首先,如何使用
OrderList=[3, 2, ...]将前三个元素相加,然后是接下来的两个,等等。接下来,您要问如何添加不同的元素数据帧的数量。下面的人已经回答了第二个问题 :) 对于第一个问题,您应该从更简单的东西开始,例如将[1, 2, 3, 4, 5]与订单[2, 3]相加得到[3, 12]。这样您就不必担心任何数据结构,只需担心语言。抱歉,我没有时间为您提供答案,但这应该不难,尽力而为:)
标签: python list dataframe addition