Skip to content

这是很久之前在Kaggle上学的,写了一些笔记,但还少一篇比较全面的总结,这篇文章相当于补上了。

DataFrame

DataFramepandas里面最基本的数据结构和操作单元,pandas所有的操作都是围绕它来进行的。DataFrame可以理解为一个类似于Excel的多维的数据表,可以存储并操作表格型的数据。

  • df.index代表的是行编号
  • df.columns代表的是列编号

新建DataFrame

新建 DataFrame的方式一般有以下几种:

  1. 通过一维的list或者numpy.ndarrys创建

    python
    # 一维
    data = [1,2,3,4,5]
    df = pd.DataFrame(data) #输出是一列
    # 二维
    data = [['Alex',10],['Bob',12],['Clarke',13]]
    df = pd.DataFrame(data,columns=['Name','Age']) #可以指定列名
  2. 通过字典创建

    python
    # 两列元素的长度需要相同
    data = {'Name':['Tom', 'Jack', 'Steve', 'Ricky'],'Age':[28,34,29,42]} 
    df = pd.DataFrame(data) # 这里默认的 index 就是 range(n),n 是列表的长度
    # 可以指定行的名称
    df = pd.DataFrame(data, index=['rank1','rank2','rank3','rank4'])
  3. 通过Series

    pd.Series 可以表示 dataframe中的一列,可以将pd.Series组成一个字典或者列表再初始化得到一个dataframe

    python
    d = {'one' : pd.Series([1, 2, 3], index=['a', 'b', 'c']),
       'two' : pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])}
    # one 列的最后一行会补全为 NaN
    df = pd.DataFrame(d)

常用属性

dataframe有很多非常有用的属性,可以快速地分析一个表格数据,这里分别列举出来

python
df1.describe() # 计算数据中的数值型的一些常见统计信息(以列为单位)
df1.index # 返回 行索引
df1.columns # 返回列索引
df1.values # 返回所有的值,以array的形式
df1.T #返回 转置结果

常用方法

使用panda提供的方法可以非常快速地对表格进行操作

假设我们有这样一个表格

python
date_index=pd.date_range('20211020', periods=5)
df1 = pd.DataFrame(np.random.randn(5, 3), index=date_index, columns=['a', 'b', 'c'])

image-20220408214411140

按照列方向进行排序

python
df1.sort_index(axis=1, ascending=False)

image-20220408214558146

按照某个列的值进行排序

python
df1.sort_values(by='a', ascending=False)

image-20220408214706887

数据访问

对表中的某个元素进行访问也是一个常用的操作,pandas提供了多种方式完成这个操作

  1. df.loc以标签的形式访问
  2. df.iloc使用整数索引进行访问

最新更新: