在使用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,)
为什么添加:
给我一个不同的结果?什么时候我应该选择使用那个:
?
它在熊猫页面中有很好的记录。
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