我一直在跟随这个Python线性回归教程:https://medium.com/@contactsunny/linear-regression-in-python-using-scikit-learn-f0f7b125a204
使用以下数据集:https://github.com/contactsunny/data-science-examples/blob/master/salaryData.csv
我的问题与以下代码片段有关:
x = dataset.iloc[:, :-1].values
这里的负数(-1)有什么作用?为什么如果我使用以下替代方案会得到错误:
x = dataset.iloc[:, 0].values
回答:
这意味着获取除最后一列之外的所有列:
df = pd.DataFrame(np.random.randint(0,100,(5,5)), index=[*'abcde'], columns=[*'ABCDE'])df.iloc[:,:-1]
输出:
A B C Da 79 23 9 89b 67 60 32 82c 66 18 41 67d 90 51 63 29e 34 65 82 82
这个语句获取所有行并切片列以过滤掉最后一列。你的第二个语句没有错误,它是一个正确的语句。
df.iloc[:, 0]
输出:
a 79b 67c 66d 90e 34Name: A, dtype: int3
获取第一列(位置0)的所有行。