一. DataFrame 简介
DataFrame是Pandas中的一个表格型的数据结构,包括一组有序的列,每列的值的类型都可不同(整型、浮点型、布尔型、字符串等),DataFrame既有行索引也有列索引,能够被看作是由Series组成的字典
DataFrame也能够了解为带了python能够做什么工作行和列标签
的二维数组:
– | Name | Age | Sex |
---|---|---|---|
0 | 李华 | 20 | female |
1 | 韩梅梅数组公式 | 19 | female |
2 | 李磊 | 21 | male |
其中行标签为序号 0,1,2,python为什么叫爬虫列标签为 Name, Age, Sex. DataFrame 是最常用的Pandas政策, 与Series相同,DataFrame支撑多种类型的输入数据:
- 列表、一维ndarray、字典、Series字典
- 二维ndarray
- Series
- DataFrame
除了数据实例化目标,还能够有挑选地传递 index(行标签)和 columns(列标签)参数组去重数。传递了index或clolumns,就能够确保生成的 DataFrame 里包有索引或列。Series 字典加上指定索引时,会丢掉与传递的索实例化是什么意思引不匹配的悉数数据。
没有传递轴标签时,按常规数据结构知识点总结根据输入数据进行构建。
二.DataFrame 实例化
DataFr数据结构在计算机内存中的表示是指ame 能够运用字典、列表等实例化。
假定传入的数据悉数是标量值(比如字python是什么意思典:{‘a’:1, ‘b’:2}),那么有必要传入index参数
df = pd.Da数组去重taFrame({
'name': ['lihua', 'lilei', 'hanmeimei', 'xiaoming', 'xiaohong'],
'math': [99, 100, 80, 50, 118],
'english': [94, 83, 99, 79, 108],
'chin数据结构c言语版ese': [107, 82,实例化目标是什么意思 76, 100, 113]
})
Output:
name math english chinese
0 lipython是什么意思hua 99 94 107
1 lilei 100 83 82
2 hanmeimei 80 99 76
3 xiaoming 50 79 100
4 xiaohong 118 108 113
三.行数据数组去重的5种办法的挑选
1.按方位挑选行数据(单行挑选)
当咱们想挑选第N数据结构严蔚敏行数据时(N理论上应小于等于能取到的最大行),我数组初始化们能够用以下办法进行挑选:
df.iloc[1]
Output:
name math english chinese
1 lilei 100 83 82
在这个示例中咱们运用了iloc办法进行了根据方位的行数据挑选,不只如此iloc还支撑行切片,多行挑选等功数组能,具体的运用办法见下一末节。
2.按方位选数组公式择行数据(多行挑选:相似于切片)
办法一:当咱们想挑选前N(N理论上应小于等于能取到的最大行)行或许后N行数据时,咱们能够用以下办法挑选:数组的界说
df.headPython(2) # 取前两行数据
Output:
name math english chinese
0 lihua 99 94 107
1 lilei 100 83 82
df.tail(2) # 取最终两行数据
Output:
name math english chinese
3 xiaoming 50 79 100
4 xiaohong 118 108 113
办法二:或许咱们也能够用行数组的界说切片的办法获取前(后)N行的数据:
df[0:2] # 从榜首行开始取,一共取两行(不包括方位为2的实例化一个类那行数据,只取方位下标为0,1的两行数据)
Output:
name math english chinese
0 lihua 99 94 107
1 lilei 100 83 82
df[-2:] # 从第倒查第二行开始取,一向取到完毕。
Output:
na数据结构难学吗me math english chinese
3 x数组c言语iaoming 50 79 100
4 xiaohong 118 108 113
行切片的办法相似于python基本数据结构中列表的切片办法,所以行切片也支撑中心部分切片、完毕切片等等数组公式。更多的数组指针运用办法可参阅列实例化目标的关键字表的切片
办法三:相同的咱们也能够数组排序运用DataFrame类的iloc办法对DataFrame进行行切片:
df.iloc[0:2] # 从榜首行开始取,一共取两行(不python是什么意思包括方位为2的那行数据,只取方位下标为0,1的两行数据)
Output:
name math数据结构教程第5版李春葆答案 engl实例化目标的关键字ish chinese
0 lihua 99 94 107
1 lilei 100 83 82
df.iloc[-2:] # 从第倒查第数组二行开始取,一向取到完毕。
Output:
name math english chinese
3 xiaomingpython123渠道登录 50 79 100
4 xiaohon数据结构严蔚敏g 118 108 113
df.il实例化目标oc[[0, 1, 3]] # 取榜首行,第二行、以及第四行数据
Output:
name math englis数组初始化h chinese
0 lihua 99 94 107
1 lilei 100 83 82
3 xiaoming 50 79 100
运用iloc办法切片时,用df.iloc[[0,1]]能到达df.i数组词loc[0:2]相同的效果。小伙伴们能够亲身测验下看看效果。
行切片与iloc切片的运用办法大致相似,需求留意的python培训班膏火一般多少是iloc切片更为活络。运用iloc数组排序不只能够切片,也支撑不接连切片,见上述比如(只需传入待获取的行的方位数组即可。),一起iloc也能够获取指定的某一单独行(见下末节比如)
3.按索引值挑选单(多)行数据
差异于按方位获取指定的行数据,咱们也能够根据索引值来获取相应的行数据结构难学吗数据:
df.l实例化目标oc[0] #获取索引值为0的那一行的数据
Output:
name math english chi实例化数组nese
0 lihua 99 94 107
dPythonf.loc[[1,3]] #获取索引值为1和3的行数据
Output:实例化servlet类反常
name matpython下载安装教程h english chinese
1 lilei 100 83 82
3 xiaoming 50 7数据结构期末考试题及答案9 100
在上述loc比如中所传入的参数值为实例化DataFrame时的索引值,不是方位的值,也不能数组了解成方位。由于在本例中实例化DataFrame时咱们并未传入index参数,所以会生成一个默许的索引序列(从0开始的递加序列数据结构c言语版),所以本例的索引序列刚好和方位序列相同了,所以才会形成loc和iloc并无差异的假象。在实践运用中,假定index(索引)序列为[‘a’, ‘b’, ‘c’, ‘d’, ‘e’]时,数据结构期末考试题及答案那么咱们假定运用loc获取行数据时,应该传入的参数便是index序列中的值。
loc 与 iloc的差异不只仅体现在前者是根据索引,后者是根据方位的挑选行数据,一起loc还支撑挑选指定的列数据:
df.loc[[0, 1], ['name', 'math']] #获取前两实例化一个类行数据,一起指定列数据为n数据结构c言语版ame和math
Outpu实例化类t:
name math
0 lihua 99
1 lilei 100
4.按条件(bool)挑选实例化英文指定的行数据
DataFrame是支撑咱们依实例化是什么意思照自界说的查找条件去获取指定的行数据的,比如name=’xxx’或许15<math<20等这样的条件:
df[df['name'] == 'lihua'] #选取dpython下载安装教程ataFrame中,name特色等于lihua的悉数行数据
Output:
name math english chinese
0 lihua 99 94 107
df[df['math'].between(90, 100)] #选取dataFrame中,math值在90到1数据结构知识点总结00之间的行数据
Output:
name math english chinese
0 lihu实例化servlet类反常a 9数组去重9 94 107
1 lilei 100 83 8实例化一个类2
df[df['english'] > 100] #选取dataFrame中,english值在大于100的行数据
Output:
name math english chinese
4 xiaohong 118 108 113
df[df['name'].isin(['hanmeimei', 'xiaoming'])] #选取dataFrame中,name特色符合['hanmeimei', 'xiaoming']的悉数行数据
Output:
name math english chinese
2 hanmeimei 80 99 76
3python123 xiaominpython下载安装教程g 50 79 100
在运用python下载安装教程between提取区间数据时,假定不想让两头的值包括其中(满足两头的值不被提取出来),只需求把 inclusive F数据结构难学吗alse即可
四.列数据的挑选
列数据的挑选比较行数据的挑选简略许多。数据结构知识点总结对列数据的挑选,咱们只能运用column的值去获取相应数据结构教程第5版李春葆答案的列数据:
df['n数组c言语ame'] #获python下载安装教程取DataFrame中column为name的列数据
Output:
0 lihua
1 lilei
2 hanmeimei
3 xia数据结构严蔚敏oming
4 xiaohong
Name: name, dt数据结构c言语版严蔚敏ype: object
df.name # 等价于df['name']
Output:
0 lihua
1 lilei
2 hanmeimei
3 xiaoming
4 xiaohong
Name: name, dtype: object
df[['name', 'm数组公式ath']] #数组去重获取DataFrame中column为name和math的列数据
Output:数据结构题库及答案
name mpython下载安装教程ath
0 lihua 99
1 lilei 100
2 hanmpython123eimei 80
3 xiaoming 50
4 xiaohong 118
df.loc[:, ['name', 'math数组去重的5种办法']] #等价于df[['name', 'mpython培训班膏火一般多少ath']],获取悉数的行,一起捆绑co数据结构教程第5版李春葆答案lumn为 name和math
Output:数据结构c言语版严蔚敏
name math
0 lihua 99
1python基础教程 lilei 100
2 hanmeimei 80
3 xiao数组词ming 50
4 xia实例化类ohong 118
从上述比如能够看出,不管获取单列或多列的值咱们也是能够运用loc办法的,只不过先把loc中获取行数据的条件给放宽了(获取悉数行,等实例化英文于没捆绑)