这样把csv文件导入进来是DataFrame格式,包含行列索引+数据。
大致步骤如下:
获取列标签将列标签更改成想要的顺序利用loc获取新的DataFrame,拷贝交换顺序后的DataFrame法一:通过loc,使用过这个方法,成功解决问题
data = pd.DataFrame(np.arange(16).reshape(4,4),columns=list('abcd')) # 获取列标签,cols是列标签组成的list cols = list(data) # 更改cols顺序为需要的顺序 cols.insert(0,cols.pop(cols.index('c'))) # 通过loc对cols列进行筛选,并把筛选后的结果拷贝给data data = data.loc[:,cols]换列的关键就在于生成自己想要的顺序的列标签列表,然后运用loc筛选就可以了。
这里参考:DataFrame交换列的顺序
法二:使用reindex方法,还没用过,收集过来做个记录
columnsTitles=["B","A"] df=df.reindex(columns=columnsTitles)这里参考:如何交换两个DataFrame列?
基本操作:
a)基础属性 df.shape #行数、列数 df.dtype #列数据类型 df.ndim #数据维度 df.index #行索引 df.columns #列索引 df.values #对象值,二维ndarray数组 b)整体情况查询 df.head(3) #显示头部几行,默认5行 df.tail(3) #显示末尾几行,默认5行 df.info() #相关信息概览:行数、列数、索引、列非空值个数、列类型、内存占用 df.describe() #快速综合统计结果: 计数、均值、标准差、最大值、四分位数、最小值等数据切片:
a)常规获取 # 方括号写数组,表示取行,对行进行操作 # 写字符串,表示取列索引,对列进行操作 print(a[:3]) #取前3行 print(a["Row_Labels"])#取列 b)通过loc和iloc获取 #df.loc 通过标签索引行或列数据 #df.iloc通过位置获取行数据 iloc --> index location a = pd.DataFrame(np.arange(12).reshape(3,4),index=list("abc"),columns=list("wxyz")) print(a) print(a.loc["a",:]) #取一行 print(a.loc[["a","c"],:])#取多行 print(a.loc[:,["x","y"]])#取多列 print(a.iloc[1,:])#取行 print(a.iloc[:,1])#取列 print(a.iloc[[1,2],[2,3]])#取多行多列 c)布尔索引获取,可以通过&或者|做多条件布尔获取 g = g[g["Count_AnimalName"]>800] print(g) print(g[(g["Count_AnimalName"]>800) & (g["Count_AnimalName"]<1000) ]) #通过字符串长度进行选取 print(g[(g["Row_Labels"].str.len()>4) & (g["Count_AnimalName"]<1000) ])更多用法参考:Python 列表(List)