我的价值观在Pandas身上变成了楠

2024-09-28 21:56:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我有下表:

Year    VTP VTT VKB VDP VCL VLX VVL VCT
2007
2008    50  54  55  56  56  56  56  55
2011    49  49  48  46  46  48  48  49
2013    44  48  47  49  48  49  50  51
2015    47   47 50  49  48  49  50  48

我想把它画出来,但在绘制之前,我要确保我的表中的所有值都是数值,所以我使用以下代码:

^{pr2}$

当我打印它时,它将表中的一些值转换为NaN(请参阅下表,尤其是2015年)。在

^{3}$

因此,我想问它为什么会这样,以及如何解决它?在


Tags: 代码绘制请参阅nanyear数值vclvtt
1条回答
网友
1楼 · 发布于 2024-09-28 21:56:51

让我们试试replace+to_numeric

df.astype(str).replace('[^\d.]', '', regex=True)\
                   .apply(pd.to_numeric, errors='coerce')

   Year   VTP   VTT   VKB   VDP   VCL   VLX   VVL   VCT
0  2007   NaN   NaN   NaN   NaN   NaN   NaN   NaN   NaN
1  2008  50.0  54.0  55.0  56.0  56.0  56.0  56.0  55.0
2  2011  49.0  49.0  48.0  46.0  46.0  48.0  48.0  49.0
3  2013  44.0  48.0  47.0  49.0  48.0  49.0  50.0  51.0
4  2015  47.0  47.0  50.0  49.0  48.0  49.0  50.0  48.0

相关问题 更多 >