在熊猫中使用iloc和负整数进行切片

时间:2020-03-22 14:15:00

标签: python pandas machine-learning

我一直在关注这个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

negation(-1)在这里做什么?如果我将以下内容用作替代内容,为什么会出错:

x = dataset.iloc[:, 0].values

1 个答案:

答案 0 :(得分:1)

这意味着获取除最后一列之外的所有列:

df = pd.DataFrame(np.random.randint(0,100,(5,5)), index=[*'abcde'], columns=[*'ABCDE'])

df.iloc[:,:-1]

输出:

    A   B   C   D
a  79  23   9  89
b  67  60  32  82
c  66  18  41  67
d  90  51  63  29
e  34  65  82  82

此语句获取所有行,并对列进行切片以过滤掉最后一行。 而且,第二个语句没有错,这是一个好的语句。

df.iloc[:, 0]

输出:

a    79
b    67
c    66
d    90
e    34
Name: A, dtype: int3

获取第一列(位置0)的所有行。