首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取熊猫的下一个价值指标

如何获取熊猫的下一个价值指标
EN

Stack Overflow用户
提问于 2022-08-28 14:35:58
回答 1查看 47关注 0票数 0

我有一张我想整理的数据。在原始数据中,三行为同一产品,但只有第一行具有名称。这三行代表着三个不同的销售年份,而这一年是即时的year+1,所以如果说"2021.0",那就是2020年。

代码语言:javascript
复制
  Name     Year     SALE    
0 Apple   2021.0     100
1         2022.0      80
2         2023.0     140
3 Pear    2021.0     50
4         2022.0      40
5         2023.0      30

我想要实现的是将所有三行信息放在同一行中,如下所示

代码语言:javascript
复制
 Name    2020 Annual Sale    2021 Annual Sale      2022 Annual Sale
0 Apple       100               80                     140
1 Pear        50                40                     30

你们能帮个忙吗?对我来说,最困难的部分是从下一个指数中取值。

代码语言:javascript
复制
data = {
    'Name': ['Apple', 'Apple', 'Apple', 'Pear', 'Pear', 'Pear'],
    'Year': [2021, 2022, 2023, 2021, 2022, 2023],
    'SALE': [100, 80, 140, 50, 40, 30],
}
EN

回答 1

Stack Overflow用户

发布于 2022-08-28 14:49:26

枢轴是你最好的朋友

代码语言:javascript
复制
data = {
    'Name': ['Apple', 'Apple', 'Apple', 'Pear', 'Pear', 'Pear'],
    'Year': [2021, 2022, 2023, 2021, 2022, 2023],
    'SALE': [100, 80, 140, 50, 40, 30],
}

df = pd.DataFrame(data)

df = df.pivot(index='Name', columns='Year', values='SALE')
df.columns = [f'{col} Annual Sale' for col in df.columns]
df.index = [name.replace(' ', '') for name in df.index]

产出:

代码语言:javascript
复制
       2021 Annual Sale  2022 Annual Sale  2023 Annual Sale
Apple               100                80               140
Pear                 50                40                30

假设您的数据如下所示:

代码语言:javascript
复制
    'Name': ['Apple', 'Nan', 'Nan', 'Pear', 'Nan', 'Nan'],
    'Year': [2021, 2022, 2023, 2021, 2022, 2023],
    'SALE': [100, 80, 140, 50, 40, 30],
}

我们可以将.replace方法与method="ffill“一起使用,它用上一行的值替换空值。

简单df = df.replace('Nan', method='ffill')

产出:

代码语言:javascript
复制
   Name  Year  SALE
0  Apple  2021   100
1  Apple  2022    80
2  Apple  2023   140
3   Pear  2021    50
4   Pear  2022    40
5   Pear  2023    30
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73519596

复制
相关文章

相似问题

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