首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何计算pandas中列之间的百分比变化?

如何计算pandas中列之间的百分比变化?
EN

Stack Overflow用户
提问于 2021-10-11 07:40:08
回答 1查看 76关注 0票数 0

我是Python和pandas的新手。我创建了一个数据帧,并希望计算两列之间的百分比变化。我知道pandas中的pct_change函数,但它在行之间工作。

代码语言:javascript
复制
import pandas as pd
import matplotlib.pyplot as plt 

UKnewcars = pd.DataFrame({
    'Model': ["Diesel", "MHEV Diesel", "Petrol", "MHEV petrol","BEV", "PHEV", "HEV" ],
    '2021': [10658,11448,94314,27326,32721,13884,24961],
    '2020': [46996,13484,176532,30382,21903,12454,26290]})

我一直收到下面的错误消息,对于我尝试的任何公式,我甚至尝试了这两列之间的简单减法。

TypeError: /不支持的操作数类型:'int‘和'str’

以下是数据框的数据类型

代码语言:javascript
复制
Model    object
2021      int64
2020      int64
dtype: object

如果您知道如何计算这些列之间的百分比变化,请告诉我。如果是数据类型问题,也请让我知道。我知道pandas具有int64数据类型,我假设它对应于Python语言中的int数据类型。我已经在我的屏幕上包含了一个数据帧外观的屏幕截图,如下所示:

EN

回答 1

Stack Overflow用户

发布于 2021-10-11 07:41:49

将字符串列转换为index

代码语言:javascript
复制
UKnewcars = UKnewcars.set_index('Model').pct_change(axis=1)
print (UKnewcars)
             2021      2020
Model                      
Diesel        NaN  3.409458
MHEV Diesel   NaN  0.177848
Petrol        NaN  0.871748
MHEV petrol   NaN  0.111835
BEV           NaN -0.330613
PHEV          NaN -0.102996
HEV           NaN  0.053243
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69522602

复制
相关文章

相似问题

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