Python a.薪金、a[“薪金”和a[“薪金”之间的差异

Python a.薪金、a[“薪金”和a[“薪金”之间的差异,python,pandas,Python,Pandas,假设我的数据集中有一些列,如salary、name、age和id a.salary、a[“salary”]和a[“salary”]]之间有什么区别?使用python的type()函数 a=pd.read_csv("train.csv") 也就是说,前两个具有相同的功能,而3d则不同 DataFrame和Series obj非常相似,但某些方法和态度不同。 主要区别在于,序列类似于列表,而数据帧类似于数组。 DataFrame实际上有很多系列组合在一起(每列都是一个系列) 明

假设我的数据集中有一些列,如
salary
name
age
id

a.salary
a[“salary”]
a[“salary”]]
之间有什么区别?

使用python的type()函数

a=pd.read_csv("train.csv")
也就是说,前两个具有相同的功能,而3d则不同

DataFrame和Series obj非常相似,但某些方法和态度不同。 主要区别在于,序列类似于列表,而数据帧类似于数组。 DataFrame实际上有很多系列组合在一起(每列都是一个系列)

明智的做法是将单个列视为系列而不是数据帧,因为它们没有完全相同的功能。例如,不能将系列设置为数据帧

此代码:

type(a.salary) 
pandas.core.series.Series

type(a['salary']
pandas.core.series.Series

type(a[['salary']])
pandas.core.frame.DataFrame
不能工作,因为一个是数据帧,而另一个是系列

而:

a[['salary']] = df['example'].copy()

将有效,因为您将“薪水”列视为系列

当您尝试这些时,您会得到什么结果?这是一个
pandas
问题,与
机器学习无关
-请不要发送不相关的标签(编辑)。您可以同时使用
a.salary
或['salary']。我更喜欢[薪水]。当您想要指定一个或多个列时,您可以使用
[[…]]
,这意味着您正在传递所需列的列表。假设,假设我将根据年龄预测工资。如果我编写如下代码,为什么会出错。机器学习中的X=df[“age”]和y=df[“salary”]实际上我是stackoverflow的新手。如果我犯了任何错误,请原谅我。
a['salary'] = df['example'].copy()