学习也可以有趣,喜欢上pandas,你该这么学!No.4

叨叨博主即将上线

昨天有个博友评论说,

喂,大佬,文章看的很爽,但是,代码为啥没有右边→_→的呢

咦?吓的我机灵

难道我的代码写了一半么... ...

美丽大方的博主怎么能犯如此错误

赶紧打开,左看右看,完整的呀

忽然间,意识到,是手机版本

手机... ... 哥,手机你滑一下就行了。

唉,对,向左这么一拨拉,就看到右边的代码了... ...

昨天说了,要写dataframe,那么今天就写它了

dataframe英文机翻 数据框架

其实它是一种表格型数据结构

看到没?又是表格,就是那个excel

它含有一组有序的列,每列可以是不同的值。

DataFrame既有行索引,也有列索引

所以有两个新词需要记住

列名(列索引)columns 与行名(行索引)index

举个栗子

看一下dataframe怎么创建出来

一般,也就是最常用的,根据字典创建

记住,是字典哦

import pandas as pd


dict = {
    'boys':[1,2,3],
    'girl':[5,6,7]
}
df = pd.DataFrame(dict)
print(df)
复制代码

哇塞,写完了,真厉害 用一个字典就创建了一个dataframe

结果展示为

注意看,这是一个3行2列的数据

上图绿框框区域就是数据的核心区域了

dict中boy和girl是字典的key 对应的dataframe中的columns name

由于我们偷懒,没有设置index,

所以它,就跟series一样,自动给我们生成一个数字索引

没设置?

那就表示可以设置喽!

那还啰嗦啥,上吧

dict = {
    'boys':[1,2,3],
    'girls':[5,6,7]
}
df = pd.DataFrame(dict,index=['a','b','c'])
print(df)
复制代码

结果符合我们想的预期(我就知道)

   boys  girls
a     1     5
b     2     6
c     3     7
复制代码

在改改,修改成class1,class2,class3

唉,符合情景了,每个班的男神,女神人数

        boys  girl
class1     1     5
class2     2     6
class3     3     7
复制代码

第一种创建方式捣鼓完毕了

还能怎么创建呢?

起开,我要秀了

还是刚才那个数据

df = pd.DataFrame([[1,5],[2,6],[3,7]],index=['class1','class2','class3'])
print(df)
复制代码

我没有用dict,用了一个二维数组

这个地方,你注意

dataframe中数组是按照行写的

为啥这么写,这表示

一班男女多少人 二班男女多少人 三班男女多少人

这是我们人类的正常描述逻辑

结果看一下

        0  1
class1  1  5
class2  2  6
class3  3  7
复制代码

不完美!boys和girls不见了,因为声明的时候没有用

所以,竟然给我们默认值0,1了

这怎么能忍!

赶紧翻翻手册

df = pd.DataFrame([[1,5],[2,6],[3,7]],columns=['boys','girls'],index=['class1','class2','class3'])
print(df)
复制代码

这就对了,刚才还说dataframe有columns和index呢

我们给设置上,不就完了

O98k

又学会了,分开创建的一种方式了

鼓鼓掌,继续吧

其实还能从文件中创建

因为这个我想放到后面讲

所以就没写上

其实博主是一个非常沉稳的人物

你看,我之前写过 blog.csdn.net/hihell/arti… 多么技术向的技术文章!

学会创建之后,你已经走了很大一步

接下来,就要用了

用它干事,才是硬道理

第一个,你要获取吧

数据拿到了,不读取,哪有这个道理

这个地方,还是时刻打开着官方文章,

要不我随时翻车

pandas.pydata.org/pandas-docs…

获取一列

df = pd.DataFrame([[1,5],[2,6],[3,7]],columns=['boys','girls'],index=['class1','class2','class3'])
print(df['boys'])
复制代码

这个获取到的是一个series

如果我想要同时获取boys和girls呢?

df = pd.DataFrame([[1,5],[2,6],[3,7]],columns=['boys','girls'],index=['class1','class2','class3'])
print(df[['boys','girls']])
复制代码

只需要df[]中在嵌套你想要的columns列名称就可以了

df[['列名1','列名2']]

一定要注意是这样子的哦~

如果获取一行呢?

好慌,我好像没准备, 被问住了... ...

df = pd.DataFrame([[1,5],[2,6],[3,7]],columns=['boys','girls'],index=['class1','class2','class3'])
#print(df[['boys','girls']])
print(df.ix[0])
print(df.ix['class1'])
复制代码

你只需添加一个ix就可以啦

当然,作为大佬的梦想橡皮擦,肯定还有其他办法

我们后面说函数的时候

在细细分解

最后一个知识点

我要获取dataframe中的一个值?

一个值?

你是想获取class1班的boys数量?

yes 是的

我随手就甩给你4个办法

print(df['boys'][0])
print(df['boys']['class1'])
print(df.ix['class1'][0])
复制代码

额,好像少了一个,自己补上吧

看着是不是像二维数组的用法

像,就对了

就这个类比,

学习才快

一个机智风趣的大大大佬,梦想橡皮擦,这是她的公众号,你不想关注一下吗

其实不关注,给我一个评论,也是极好的

毕竟,我可是要上头条的人

最最后,祝你

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值