Python 熊猫直方图
我有20世纪90年代到2017年的排放数据,希望在分离训练集和测试集后绘制直方图 问题是(我认为)年份列是一种对象数据类型(该列的条目如下所示:Python 熊猫直方图,python,pandas,dataframe,Python,Pandas,Dataframe,我有20世纪90年代到2017年的排放数据,希望在分离训练集和测试集后绘制直方图 问题是(我认为)年份列是一种对象数据类型(该列的条目如下所示:1995JJ00),我想将其切换为int数据类型,这样我就可以用matplotlib绘制直方图 我之所以希望在绘图上看到年份数据,是为了确保拆分数据时包含合理的年份分布,并且不会意外地包含许多类似年份的结果。也许这甚至不是最好的决定方式,但是我正陷在这个兔子洞里,希望看到它过去 首先,我通过以下方式删除了结尾处不需要的字母和数字: trainsetcop
1995JJ00
),我想将其切换为int
数据类型,这样我就可以用matplotlib绘制直方图
我之所以希望在绘图上看到年份数据,是为了确保拆分数据时包含合理的年份分布,并且不会意外地包含许多类似年份的结果。也许这甚至不是最好的决定方式,但是我正陷在这个兔子洞里,希望看到它过去
首先,我通过以下方式删除了结尾处不需要的字母和数字:
trainsetcopy['Perioden'] = trainsetcopy['Perioden'].map(lambda x: str(x)[:-4])
数据来自荷兰,因此“周期”为年。现在我想更改列的数据类型,使其能够在直方图上打印。为此,我尝试:
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
这并没有改变数据类型。如何修复此问题?我认为您只需要将这些数据类型更改的输出分配回数据帧:
trainsetcopy['Perioden'] = trainsetcopy['Perioden'].astype(str).astype(np.int64)
没有“机器学习直方图”这样的东西,你的问题实际上与机器学习无关(编辑的标签和标题)。如果你调用
.astype(str).astype(np.int64)
,第一个是多余的。您的数据是什么样子的-您确定它可以全部转换为int
?