1、读取文件

(1)读取csv文件:

csv1 = pd.read_csv(fpath)

(2)读取txt文件:

txt1 = pd.read_csv(

        fpath,        #文件路径

        sep='\t',        #分隔符

        header=None        #有无标题行

        names=['one','two','three'])        #可自定义列名

其中,

2、读取后查看数据信息

.shape:查看行列数

.columns:查看索引列名(返回的是一个列表?)

.index:查看索引行名

.dtypes:查看每列的数据类型

.head():查看前几行数据

3、数据结构

(1)Series:一维数据,一行或一列,有行索引(index)和值(values)
创建Series:

1、可用列表直接创建,索引默认为顺序数字

s1 = pd.Series(['a',1,2,'b',3])

2、创建具有标签索引的Series

s2 = pd.Series([['a',1,2,'b',3], index=['a','b','c','d',1]

3、用python字典创建Series

sdata为字典变量

则s3 = pd.Series(sdata)可直接创建一个以键为索引,值为值的Series

获取Series中内容

.index:获取行索引

.values:获取值

使用标签直接获取值:s2['a']

注:在多个标签一次性获取多个值时需要用双括号,s2[['b','a']],此时返回值也为一个Series,而获取单个仅返回值

(2)DataFrame:是一个二维表,有行索引(index)、列索引(columns)、值(values)。可看作由Series组成的字典
创建DataFrame:

1、见读取文件

2、直接用多个列索引+列表创建

df = {

'ones':[1,2,3,4,5]

'two':['a','b','c','d','e']

}

则最后每个列表变为一列,行索引默认为顺序数字

(3)从DataFrame中查询数据:查询一列/一行结果为一个Series,查询多列/行结果为一个DataFrame

1、df['列名']:直接查询一列,此时的index为行名

2、df[['列名1','列名2']]:查询多列

3、df.loc[1]:查询一行,此时的index为列名

4、df.loc[1:3]:查询多行(左闭右闭)

4、pandas数据查询:

1、df.loc:根据行、列的标签值查询(又能查询又能覆盖写入)

2、df.iloc:根据行、列的数字位置查询
3、df.where
4、df.query

更多推荐