a=pd.read_csv("train.csv")
假设我的数据集中有一些列,如salary,name,age和id。a.salary、a["salary"]和a[["salary"]]有什么区别?
salary
name
age
id
a.salary
a["salary"]
a[["salary"]]
kupeojn61#
通过使用python的type()函数,你可以得到
type(a.salary) pandas.core.series.Series type(a['salary']) pandas.core.series.Series type(a[['salary']]) pandas.core.frame.DataFrame
也就是说,前2个具有相同的功能,而3d不同DataFrame和Series obj非常相似,但有些方法和态度不同。主要区别是Series类似于列表,而DataFrame类似于数组。DataFrame实际上有很多系列组合(每列都是一个Series)。明智的做法是将单个列视为Series而不是DataFrame,因为它们没有完全相同的功能。此代码:
a[['salary']] = df['example'].copy()
不会工作,因为a[['salary']]被视为DataFrame,而df['example']被视为Series。同时:
a[['salary']]
df['example']
a['salary'] = df['example'].copy()
将工作,因为您将列'salary'视为Series。
1条答案
按热度按时间kupeojn61#
通过使用python的type()函数,你可以得到
也就是说,前2个具有相同的功能,而3d不同
DataFrame和Series obj非常相似,但有些方法和态度不同。主要区别是Series类似于列表,而DataFrame类似于数组。DataFrame实际上有很多系列组合(每列都是一个Series)。
明智的做法是将单个列视为Series而不是DataFrame,因为它们没有完全相同的功能。
此代码:
不会工作,因为
a[['salary']]
被视为DataFrame,而df['example']
被视为Series。同时:
将工作,因为您将列'salary'视为Series。