d2l 学习笔记

环境搭建

装 d2l==0.17.6 的时候 pandas build wheel 失败了,查了一下应该是这个原因

没怎么细看,因为用高点的 python 版本直接 pip install d2l 就成功了

数据预处理

(chapter 2.2)

1
2
3
4
import pandas as pd

data = pd.read_csv(data_file)
print(data)
1
2
3
4
5
   NumRooms Alley   Price
0 NaN Pave 127500
1 2.0 NaN 106000
2 4.0 NaN 178100
3 NaN NaN 140000
1
2
3
inputs, outputs = data.iloc[:, 0:2], data.iloc[:, 2]
inputs = inputs.fillna(inputs.mean())
print(inputs)

报错:TypeError: can only concatenate str (not "int") to str

原因:pandas.DataFrame.mean api 变了,得加个numeric_only=True \to inputs = inputs.fillna(inputs.mean(numeric_only=True))

下面的 pd.get_dummies api 也改了,要加上 dtype=int 不然生成的是 True/False.

reference: docs