在带有pandas
的 Python3 中,我具有以下类似的csv
格式数据集
Salary_Data.csv
YearsExperience,Salary
1.1,39343.00
1.3,46205.00
1.5,37731.00
但是,我意识到在使用iloc
方法时,如果我像下面那样使用:
(例如案例1 ),尽管结果相同,但是{ {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,)
会给我带来不同的结果?我应该何时选择使用该:
?
答案 0 :(得分:0)
在熊猫页面上有很好的记录。
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.iloc.html
在情况1中,您要尝试传递一个列切片。您已经传递了: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