数据挖掘---Pandas的学习

Posted ftl1012

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据挖掘---Pandas的学习相关的知识,希望对你有一定的参考价值。

 

Pandas介绍(panel + data + analysis)

技术图片

为什么使用Pandas
        便捷的数据处理能力
        读取文件方便
        封装了Matplotlib、Numpy的画图和计算

Pandas的核心数据结构(DataFrame+Panel+Series)

3大核心结构:

            DataFrame
            Panel
            Series

1、DataFrame

DataFrame
    结构:既有行索引,又有列索引的二维数组
    属性:
        shape
        index
        columns
        values
        T
    方法:
        head()
        tail()
    3 DataFrame索引的设置
        1)修改行列索引值
        2)重设索引
        3)设置新索引

 

简单demo:

import numpy as np
import pandas as pd

def demo():
    data = np.random.normal(0, 1, (10, 5))
    print(data)
    # 添加行索引
    stock = [
        "股票{}".format(i) for i in range(10)
    ]
    pd.DataFrame(data, index=stock)
    # 添加列索引
    date = pd.date_range(start="20180101", periods=5, freq="B")


if __name__ == ‘__main__‘:
    demo()

 

技术图片

1、结构:

技术图片

2、属性

     shape +  index  +  columns  + values  +      T

data = np.random.normal(0, 1, (10, 5))

技术图片

3、方法

    head()   : 默认返回数据的前5行,head(3),返回前3行

    tail() :默认返回数据的后5行,tail(3),返回后3行

4、DataFrame索引的设置

       1)修改行列索引值: 只能整体修改,不能单独修改索引
       2)重设索引
       3)设置新索引

技术图片

技术图片

技术图片

import numpy as np
import pandas as pd

def demo():
    data = np.random.normal(0, 1, (10, 5))
    print(data)
    # 添加行索引
    stock = [
        "股票{}".format(i) for i in range(10)
    ]
    pd.DataFrame(data, index=stock)

    # 1、添加列索引
    date = pd.date_range(start="20180101", periods=5, freq="B")

    # 修改行列索引值:整体修改,不能单独修改某一个
    # 【错误】 data.index[2] = "股票88"   --》 不能单独修改索引
    stock_ = ["股票_{}".format(i) for i in range(10)]
    data.index = stock_

    # 2、重设索引
    data.reset_index(drop=False)  # False: 不删除原索引, True删除原索引h, 默认False

    # 3、设置某列的新索引,创建新的dataframe
    df = pd.DataFrame({‘month‘: [1, 4, 7, 10],
                       ‘year‘: [2012, 2014, 2013, 2014],
                       ‘sale‘: [55, 40, 84, 31]})
    # 以月份设置新的索引
    df.set_index("month", drop=True)

    # 设置多个索引,以年和月份(具有多索引的DataFrame,可用于三维数组)
    new_df = df.set_index(["year", "month"])

if __name__ == ‘__main__‘:
    demo()

技术图片

 

MultiIndex与Panel

1、MultiIndex

技术图片

import pandas as pd

def demo():
    df = pd.DataFrame({‘month‘: [1, 4, 7, 10],
                       ‘year‘: [2012, 2014, 2013, 2014],
                       ‘sale‘: [55, 40, 84, 31]})
    new_df = df.set_index(["year", "month"])

    print(new_df.index)  # 索引列表
    print(new_df.index.names)  # 索引名称

if __name__ == ‘__main__‘:
    demo()

2、Panel

panel我们通常看做pandas的容器,没办法直接看3维数据,只能从某一个维度出发看另外2个二维的数据

技术图片

技术图片

技术图片

 

Series






















以上是关于数据挖掘---Pandas的学习的主要内容,如果未能解决你的问题,请参考以下文章

《Python机器学习及实践》----无监督学习之数据聚类

《Python机器学习及实践》----无监督学习之数据聚类

机器学习代码基础-- Pandas速成

python pandas multiindex片段

Pandas Tutor:用 Pyodide 学习数据科学

Pandas Tutor:用 Pyodide 学习数据科学