龙空技术网

AX:Pandas.DataFrame筛选列的8种方法

张洪志 30

前言:

今天我们对“pandas获取列名列表”大约比较看重,同学们都想要剖析一些“pandas获取列名列表”的相关资讯。那么小编在网上网罗了一些关于“pandas获取列名列表””的相关资讯,希望姐妹们能喜欢,小伙伴们一起来了解一下吧!

"""@author: AX / 张洪志"""import pandas as pdfrom plotnine.data import mpgmpg.columnsmpg.head()# 1取某一列-----------mpg['model']#用列名type(mpg['model'])#用列名 ,类型pandas.core.series.Series# 2取多列,双中括号,即参数是列表----------mpg[['model','manufacturer','displ']]#类型pandas.core.frame.DataFrametype(mpg[['model','manufacturer','displ']])# 通过索引取,实际还是先取的列名# Index(['manufacturer', 'model', 'displ', 'year'], dtype='object')I=mpg.columns[0:4]mpg[I]# 3filter筛选-------------# 列名mpg.filter(['year','cyl'])# 条件,注意axis,还可以过滤行,默认为列mpg.filter(like='y')#包含y的列,跟SQL的like完全两码事mpg.filter(like='yea',axis=1)# 正则表达式# y结尾的列,注意axis,还可以过滤行mpg.filter(regex = 'y$',axis=1)# 4通过loc取多列 [:, column_list],----------# 括号中第一个: 表示选择全部行,左右闭合mpg.loc[:,['model','manufacturer','displ']]# mpg.loc[:,['model':'cyl']]#报错# 跨列取,前后列名mpg.loc[0:1,'model':'cyl']# 5条件筛选-----------mpg.loc[mpg['model']=='a4']#与下行等价mpg[mpg['model']=='a4']mpg[mpg['model'].str.contains('a4')]# 6通过iloc取多列,左开右闭----------mpg.iloc[0:5,1:6]mpg.iloc[0:5,[1,3,5]]# 7通过条件--------------------mpg[[a for a in mpg.columns if a.count('y')]]mpg[[a for a in mpg.columns if 'o' in a  ]]# 【for in 】必须有[][a for a in mpg.columns.tolist()][a for a in mpg.columns if 'o' in a ]mpg[a for a in mpg.columns if 'o' in a ]#报错# 取的是0-4行,不是列。注意,Index为数值型,其他类型未测试,预测会不同mpg[0:4]# 8通过类型------------mpg.info()mpg.dtypesmpg.select_dtypes(include=['int64'])mpg.select_dtypes(include=['category'])

#妙笔生花创作挑战#

标签: #pandas获取列名列表