熊猫直方图

时间:2019-01-30 22:51:47

标签: python pandas dataframe

我有1990年代到2017年的排放数据,并希望在分离训练集和测试集后绘制直方图。

问题(我认为)是,年份列是对象数据类型(此列的条目如下:1995JJ00),我想将其切换为int数据类型,因此我可以使用matplotlib绘制直方图。

我想在地块上查看年份数据的原因是为了确保对数据进行拆分时可以合理地分散年份,并且不会意外地包含很多相似年份的结果。也许这甚至不是决定这一点的最佳方法,但是我在这个兔子洞里,希望可以看到它。

首先,我通过以下方式删除了不需要的字母和数字:

trainsetcopy['Perioden'] = trainsetcopy['Perioden'].map(lambda x: str(x)[:-4])

数据来自荷兰,因此“ Perioden”为年份。现在,我想更改列的数据类型以使其能够在直方图中进行绘制。为此,我尝试了:

trainsetcopy['Perioden'].astype(str).astype(np.int64)

最后以:

trainsetcopy.dtypes

ID            int64
Bronnen      object 
Perioden     object 
CO2_1         int64 
CH4_2       float64 
N2O_3       float64 
dtype: object

尚未更改数据类型。我该如何解决?

1 个答案:

答案 0 :(得分:1)

我认为您只需要将这些dtype更改的输出分配回您的DataFrame:

trainsetcopy['Perioden'] = trainsetcopy['Perioden'].astype(str).astype(np.int64)