python中筛选出某⼀列的⼀部分内容_pandas数据处理基础之筛选指定⾏或者指定列的数据...
pandas主要的两个数据结构是:series(相当于⼀⾏或⼀列数据机构)和DataFrame(相当于多⾏多列的⼀个表格数据机构)。
本⽂为了⽅便理解会与excel或者sql操作⾏或列来进⾏联想类⽐
1.重新索引:reindex和ix
上⼀篇中介绍过数据读取后默认的⾏索引是0,1,这样的顺序号。列索引相当于字段名(即第⼀⾏数据),这⾥重新索引意思就是可以将默认的索引重新修改成⾃⼰想要的样⼦。
1.1 Series
⽐⽅说:data=Series([4,5,6],index=['a','b','c']),⾏索引为a,b,c。
我们⽤index(['a','c','d','e'])修改索引后则输出:
可以理解成我们⽤reindex设了索引后,根据索引去原来data⾥⾯匹配对应的值,没匹配上的就是NaN。
1.2 DataFrame
python怎么读取excel某一列(1)⾏索引修改:DataFrame⾏索引同Series
(2)列索引修改:列索引⽤reindex(columns=['m1','m2','m3']),⽤参数columns来指定对列索引进⾏修改。修改逻辑类似⾏索引,也是相当于⽤新列索引去匹配原来的数据,没匹配上的置NaN
例:
(3)同时对⾏和列索引进⾏修改可以⽤
2.丢弃指定轴上的列(通俗的说法就是删除⾏或者列):drop
通过索引进⾏选择删除哪⼀⾏或者哪⼀列
data.drop(['a','c']) 相当于delete table a where xid='a' or xid='c'
data.drop('m1',axis=1)相当于delete table a where yid='m1'
3.选取和过滤(通俗的说就是sql中按照条件筛选查询)
python中因为有⾏列索引,在做数据的筛选会⽐较⽅便
3.1 Series
(1)按照⾏索引进⾏选择如
obj['b']相当于select * from tb where xid='b'obj['b','a','c']相当于select * from tb where xid in ('a','b','c'),且结果按照b ,a ,c 的顺序排列后进⾏展⽰,这是与sql的区别obj[0:1]和obj['a':'b']的区别如下:
#前者是不包含末端,后者是包含了末端
(2)按照值的⼤⼩进⾏筛选obj[obj>-0.6]相当于在obj数据中出值⽐-0.6⼤的记录进⾏展⽰
3.2 DataFrame
(1)选择单⾏⽤ix或者xs:
如筛选索引为b的那条⾏记录⽤以下三种⽅式
(2)选择多⾏:
筛选索引为a,b的两条⾏记录的⽅式
#以上不能直接写成data[['a','b']]
data[0:2]表⽰从第⼀⾏到第⼆⾏的记录。第⼀⾏默认从0开始数,不包含末端的2。
(3)选择单列
筛选m1列的所有⾏记录数据
(4)选择多列
筛选m1,m3两个列,所有⾏记录的数据
ix[:,['m1','m2']]前⾯的:表⽰所有的⾏都筛选进来。
(5)根据值的⼤⼩条件筛选⾏或者列
如筛选出某⼀列值⼤于4的所有记录相当于select * from tb where 列名>4
(6)如果筛选某列值⼤于4的所有记录,且只需展⽰部分列的情况时
⾏⽤条件进⾏筛选,列⽤[0,2]筛选第⼀列和第三列的数据
总结
以上所述是⼩编给⼤家介绍的pandas数据处理基础之筛选指定⾏或者指定列的数据,希望对⼤家有所
帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。在此也⾮常感谢⼤家对脚本之家⽹站的⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论