float64如何用连字符表示?
我是新手。
我正在尝试在Python中处理这个数据集:https://r2.datahub.io/clt98khox0004ia08zwe4vaqt/master/raw/data/co2-mm-gl.csv
我用pandas的read_csv导入了数据。然后我用dtypes查看了每一列的格式,发现第一列“Date”的数据类型是float64,这让我觉得很奇怪,因为这一列的值是以年-月的格式显示的,比如“1979-01”。
一个float64类型的值怎么会有这样的连字符呢?感谢大家的见解。
我首先尝试用以下代码处理“Date”列:
df['Year'] = df['Date'].str[:4]
结果出现了一个错误:AttributeError: Can only use .str accessor with string values!
我明白这是因为它是float64类型。但它怎么会是float64呢?
1 个回答
1
你的CSV文件只有4个标题,但有6列数据:
Date,Decimal Date,Average,Trend
1979-01,1979.042,336.56,0.11,335.92,0.09
1979-02,1979.125,337.29,0.09,336.25,0.10
...
当你导入这个文件时,Pandas会把前两列的名字留空:
Date Decimal Date Average Trend
1979-01 1979.042 336.56 0.11 335.92 0.09
1979-02 1979.125 337.29 0.09 336.25 0.10
...
你可以编辑这个CSV文件,为最后两列添加两个列名:
Date,Decimal Date,Average,Trend,Value1,Value2
1979-01,1979.042,336.56,0.11,335.92,0.09
1979-02,1979.125,337.29,0.09,336.25,0.10
...
这样导入后就会变成:
Date Decimal Date Average Trend Value1 Value2
0 1979-01 1979.042 336.56 0.11 335.92 0.09
1 1979-02 1979.125 337.29 0.09 336.25 0.10
...