Python09-pandas整理01

数据结构

  • series:是一种类似于一位数组的对象,由一组数据及一组与之相关的数据标签(即索引)组成。

  • dataframe:由一组数据与一对索引(行索引和列索引)组成的表格型数据结构。

创建

  • series
    列表的方式:传入一个列表,通过index指定索引 s2=pd.Series([1,2,3,4], index=[‘a’,‘b’,‘c’,‘d’])
    字典的方式:以键值对的方式,key是数据标签,value是数据值 s3=pd.Series({‘a’:1,‘b’:2,‘c’:3,‘d’:4})

  • dataframe
    列表的方式:传入一个列表/嵌套列表,通过index、columns指定索引
    df2=pd.DataFrame([[‘a’,‘A’],[‘b’,‘B’],[‘c’,‘C’],[‘d’,‘D’]], columns=[‘小写’,‘大写’], index=[‘一’,‘二’,‘三’,‘四’])
    字典的方式:以键值对的方式,key是列索引,value是一列的数据值,行索引可以使用index设置
    data = {‘小写’:[‘a’,‘b’,‘c’,‘d’],‘大写’:[‘A’,‘B’,‘C’,‘D’]}
    df3=pd.DataFrame(data,index = [‘一’,‘二’,‘三’,‘四’])

获取行、列索引和值

.columns 列索引 .index 行索引 .values 值

数据获取(***)

常规的数据选择主要有列选择、行选择、行列同时选择三种。

  • 列选择:一般使用列名取值 df[‘a’] df.a(不推荐使用,有空格和中文字符的时候不好用)
  • 行选择:使用loc或iloc (loc/iloc可以省略)
  • loc:标签索引 按标签进行数据获取,是左闭合右闭合的
  • iloc:位置索引 按位置进行数据获取,是左闭右开的**

eg:

ser_obj = pd.Series(range(5), index=['a','b','c','d','e'])
                           ser_obj  ——  a    0
                                                  b    1
                                                  c    2
                                                  d    3
                                                  e    4 
                            ● 行索引  ser_obj.loc['b']   1    ser_obj['b'](省略loc)
                                           ser_obj.iloc[1]    1     ser_obj[1](省略iloc)
                            ● 不连续索引时  ——   需要使用list     ser_obj[['a','c']]  /  ser_obj[[1,3]]
                            ●区别:   ser_obj[1:3]   b,c行  ser_obj['b':'d']   b,c,d行

行和列同时选择:
○ 同时使用行和列的索引名称索引 df.loc[[‘一’,‘三’], [‘订单编号’,‘识别码’]]
○ 同时使用位置索引 df.iloc[[0,1], [0,2]] df.iloc[: ,[0 , 2]] (列的位置不连续哦)
○ 切片索引(使用位置) df.iloc[0:2, 1:2]

布尔遮罩(条件选择)
eg:

#找出说英语的国家
filter_condition = df['language'].str.contains('English')          df[filter_condition]

#排名前20的国家 
df[df['Happiness_Rank']  <= 20]

#输出第2行中为1,且第3行为3的列
(df_obj.loc[1,:]==1) &  (df_obj.loc[2,:]==3)
发布了56 篇原创文章 · 获赞 0 · 访问量 772

猜你喜欢

转载自blog.csdn.net/xiuxiuxiu666/article/details/104316864
今日推荐