为什么在dataframe.iloc()中使用':'会给出不同大小的值?

问题描述 投票:0回答:1

在使用pandas的Python3中,我有以下csv格式数据集,如下所示

Salary_Data.csv

YearsExperience,Salary
1.1,39343.00
1.3,46205.00
1.5,37731.00

但是,我意识到使用iloc方法时,如果我使用:如下(如案例1),虽然结果相同,但Size的表示方式不同。

import pandas as pd
dataset = pd.read_csv('data')
# Case 1
dataset.iloc[:, :1].values # Size: (3, 1)
# Case 2
dataset.iloc[:, 0].values # Size: (3,)

为什么添加:给我一个不同的结果?什么时候我应该选择使用那个:

pandas matrix vector size
1个回答
0
投票

它在熊猫页面中有很好的记录。

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.iloc.html

您在案例1中尝试执行的操作是传递列切片。您已通过:1表示您希望从第一列到第一列,这实际上是第一列。 Pandas返回一个数组,在您的情况下由(3,)表示。

尝试:

x = np.array([1, 2, 3, 4])
x.shape

输出:

(4,)

您可以在此处获得有关索引和切片的更多信息:

https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#indexing-slicing-with-labels

© www.soinside.com 2019 - 2024. All rights reserved.