我正在上一门关于Coursera的课程,题目是“用Python进行数据分析”。我是Python新手。我有一些C和MATLAB的经验。这就是为什么除了一件事,我没有遇到那么多问题
首先请看下面的代码
import pandas as pd
#path of data
path = 'https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-DA0101EN-SkillsNetwork/labs/Data%20files/automobileEDA.csv'
df = pd.read_csv(path)
from sklearn.linear_model import LinearRegression
lm = LinearRegression()
X = df[['highway-mpg']] #'highway-mpg' is a column in the dataframe
Y = df['price'] #'price' is a column in the dataframe
lm.fit(X,Y)
在这里定义X
时,他们使用了双方括号[[]]
,在Y
的情况下使用了[]
。我知道在Python中,方括号用于列表,嵌套列表是可能的。但它似乎不是一个嵌套列表。你能区分它们吗
一个对数据帧进行切片并返回子数据帧,另一个只选择一列并将其作为
Series
给出:如果将字符串列表传递给方括号
[['a', 'c']]
,将获得只包含所请求的列的DataFrame
如果将字符串传递给方括号
['a']
,则只会获得一个Series
,它与给定的名称对应范例
当您想要使用或返回数据帧的单个列,即返回系列时,请使用
df['xyz']
。如果您想要返回或使用多个列,您可以使用df[['xyz','abc','ijk']]
返回另一个带有指定列的数据帧注意
在您的情况下
X['h___...']
也可以使用,因为只有一列[[]]
通常用于传递多个列以从数据帧检索。另一个关键区别是它返回一个DataFrame
[]
通常用于传递单个列以从数据帧检索。另一个关键区别是它返回一个Series
这是索引数据帧时的关键区别之一。两者都使用不同的返回类型执行相同的预期操作
相关问题 更多 >
编程相关推荐