首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在python中转换和累积数据

如何在python中转换和累积数据
EN

Data Science用户
提问于 2020-03-22 11:19:18
回答 1查看 505关注 0票数 1

我想转换数据和累积它们使用熊猫。

  1. 年份国家价值
  2. 1999年日本10
  3. 2000年韩国15
  4. 2000年美国20
  5. 2001年美国13
  6. 2002年日本30

*我想转换每个国家

的数据和累积值

  1. 年份国家价值
  2. 1999年日本10
  3. 1999年韩国0
  4. 1999年美国0
  5. 2000年日本10
  6. 2000年韩国15
  7. 2000年美国20
  8. 2001年日本10
  9. 2001年韩国15
  10. 2001年美国33
  11. 2001年日本40
  12. 2001年韩国15
  13. 2001年美国33

我需要你的帮助。

谢谢。

EN

回答 1

Data Science用户

回答已采纳

发布于 2020-03-22 12:19:55

我认为下面的行应该给出您想要的输出:

代码语言:javascript
运行
复制
# Create pivot table
df = pd.pivot_table(df, values="value", index="country", columns="year")
# Calculate cumulative sum and forward fill NaN
df = df.cumsum(axis=1).fillna(method="ffill", axis=1)
# Reshape data back into long format
df = df.reset_index().melt("country")

我首先用列中的国家和列中的年份创建一个枢轴表,以获取长格式数据中可能缺少的所有年份。然后计算累积和,然后再将值填充到列上。为了最终将数据重新格式化为原始的长格式,我重新设置索引并将数据以国家作为id列进行熔化。给定您的输入,它将返回以下数据:

代码语言:javascript
运行
复制
   country  year  value
0    JAPAN  1999   10.0
1    KOREA  1999    NaN
2      USA  1999    NaN
3    JAPAN  2000   10.0
4    KOREA  2000   15.0
5      USA  2000   20.0
6    JAPAN  2001   10.0
7    KOREA  2001   15.0
8      USA  2001   33.0
9    JAPAN  2002   40.0
10   KOREA  2002   15.0
11     USA  2002   33.0
票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/70068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档