根据熊猫的季度/月度数据创建年度总和列

时间:2020-09-21 20:06:20

标签: python pandas

比方说,我有熊猫的季度或月度数据,而我想查找年度总数。最有效的方法是什么?

例如,假设我有“季度和价值”,并且我想创建一个新列“ YearSum”,以汇总最近的四个值。

Quarter, Value, YearSum
1, 2, null
2, 2, null
3, 3, null
4, 3, 10
5, 4, 12
6, 4, 14
7, 5, 16
8, 5, 18

我知道我可以这样手动添加总数:

df['YearSum'] = df.Value.shift(3) + df.Value.shift(2) + df.Value.shift(1) + df.Value

有没有更有效的方法?

2 个答案:

答案 0 :(得分:1)

SimpleXMLElement Object ( [soapBody] => SimpleXMLElement Object ( [GetOrderDetailsResponse] => SimpleXMLElement Object ( [GetOrderDetailsResult] => <?xml version="1.0" encoding="utf-16"?> <QuestMethodResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <MethodID>GETORDERDETAIL</MethodID> <ClientReferenceID xsi:nil="true" /> <ReferenceTestID>2102207</ReferenceTestID> <QuestOrderID>14706080</QuestOrderID> <ResponseStatusID>SUCCESS</ResponseStatusID> <DisplayURL>https://esp-load.employersolutions.com/Integration/OrderDetail</DisplayURL> <Errors /> </QuestMethodResponse> ) )

Documentation

答案 1 :(得分:0)

您可以使用const myFont = { unicodeRange: "U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF UTF-8", } 对每x行求和:

groupby

它将创建一个序列,其中每个值都是4行的总和,表示一年中所有季度的总和(假设您的4对齐井很好,例如,不是从第3季度开始)。

编辑:我发现Take the sum of every N rows in a pandas series 的功能与建议其他选项相同。 Edit2:请注意,它仅需要排他的4行。表示第一次相加后需要1-2-3-4,然后是5-6-7-8,而不是2-3-4-5。不确定要做什么