昨天有个博友评论说,html
喂,大佬,文章看的很爽,可是,代码为啥没有右边→_→的呢数组
咦?吓的我机灵数据结构
难道个人代码写了一半么... ...框架
美丽大方的博主怎么能犯如此错误函数
赶忙打开,左看右看,完整的呀学习
突然间,意识到,是手机版本spa
手机... ... 哥,手机你滑一下就好了。.net
唉,对,向左这么一拨拉,就看到右边的代码了... ...excel
dataframe英文机翻 数据框架code
其实它是一种表格型数据结构
看到没?又是表格,就是那个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])
复制代码
额,好像少了一个,本身补上吧
看着是否是像二维数组的用法
像,就对了
就这个类比,
学习才快
其实不关注,给我一个评论,也是极好的
毕竟,我但是要上头条的人
最最后,祝你