我是Python和pandas的新手。我创建了一个数据帧,并希望计算两列之间的百分比变化。我知道pandas中的pct_change函数,但它在行之间工作。
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’
以下是数据框的数据类型
Model object
2021 int64
2020 int64
dtype: object如果您知道如何计算这些列之间的百分比变化,请告诉我。如果是数据类型问题,也请让我知道。我知道pandas具有int64数据类型,我假设它对应于Python语言中的int数据类型。我已经在我的屏幕上包含了一个数据帧外观的屏幕截图,如下所示:

发布于 2021-10-11 07:41:49
将字符串列转换为index
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.053243https://stackoverflow.com/questions/69522602
复制相似问题