关于pandas中df[[]]的解谜以及Series与DataFrame的区别

关于pandas中df[[]]的解谜以及Series与DataFrame的区别

一直以来我们获取df中某列的值,一般采用df.parm或者df[‘parm’]的方式来获取。今天突然遇到df[[‘number’]]的形式,一开始以为别人写错了,后来才知道原来是取的东西不一样。先看对比代码:

import pandas as pd


data=pd.DataFrame({'name':['张三','李四','王五'],'age':[18,19,20],'number':[190,200,220]})
print(data)


print(data['number'],type(data['number']))
print('\n\n')
print(data[['number']],type(data[['number']]))

#结果
    name  age  number
0   张三   18     190
1   李四   19     200
2   王五   20     220
0    190
1    200
2    220
Name: number, dtype: int64 <class 'pandas.core.series.Series'>


     number
0     190
1     200
2     220 <class 'pandas.core.frame.DataFrame'>

说明一下:

df[ ]是取某列的值,传入的是列标签名称, 返回的结果是Series.

df[[ ]] 是取某整列,传入是一个列标签列表,之所以产生迷惑是因为只取了一列。写成df[[‘a’,‘b’]]就好理解了。 返回的是DataFrame.

这里简单说明一下Series与DataFrame的区别。

Series:是带行索引名的一维数值,不带列索引名。形式如下:

0    190
1    200
2    220

DataFrame: 一个表格型的数据,既带列索引名,又带行索引名。格式如下:

   number
0     190
1     200
2     220

都说DataFrame是Series的容器,其实从字面翻译来说,Series这个“有对应关系”的键值放在DataFrame这个“数据框”里的。

总结:
df[ ] : 只取某列的值,是键值, 返回Series类型
df[[ ]] :取完全的某列,是表格,返回DataFrame类型

  • 15
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值