python - 在 Pandas 中使用 iloc 和负整数进行切片
问题描述
我一直在关注这个 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 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)。
推荐阅读
- r - 将日期范围拆分为几个以 YYYY-12-31 结尾的块
- powershell - Powershell:无法设置模型文件夹的acl权限
- sql - 限制为基于 SQL 的报告显示的字符数
- python - 如何在熊猫数据框中使用 groupby 来获取以下数据的平均值?
- antlr4 - Antlr4 Testrig 不返回任何内容
- android - 这里 Maps API 错误:无法初始化地图片段 UNKNOWN
- javascript - 在浏览器中显示 480x115x115 3-D Numpy 模型?
- javascript - Javascript如何为从PHP foreach循环创建的一系列按钮创建一个切换按钮
- excel - Excel 中区分大小写的 VLookup
- python - 根据另一个张量的索引创建新张量并分配它的值