數據挖掘---Pandas的學習

 

Pandas介紹(panel + data + analysis)

image

爲何使用Pandas
        便捷的數據處理能力
        讀取文件方便
        封裝了Matplotlib、Numpy的畫圖和計算html

Pandas的核心數據結構(DataFrame+Panel+Series)

3大核心結構:java

            DataFrame
            Panel
            Series數組

一、DataFrame數據結構

DataFrame
    結構:既有行索引,又有列索引的二維數組
    屬性:
        shape
        index
        columns
        values
        T
    方法:
        head()
        tail()
    3 DataFrame索引的設置
        1)修改行列索引值
        2)重設索引
        3)設置新索引dom

 

簡單demo:spa

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()

 

image

一、結構:orm

image

二、屬性htm

     shape +  index  +  columns  + values  +      Tblog

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

image

三、方法索引

    head()   : 默認返回數據的前5行,head(3),返回前3行

    tail() :默認返回數據的後5行,tail(3),返回後3行

四、DataFrame索引的設置

       1)修改行列索引值: 只能總體修改,不能單獨修改索引
       2)重設索引
       3)設置新索引

image

image

image

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")

    # 修改行列索引值:總體修改,不能單獨修改某一個
    # 【錯誤】 data.index[2] = "股票88"   --》 不能單獨修改索引
    stock_ = ["股票_{}".format(i) for i in range(10)]
    data.index = stock_

    # 二、重設索引
    data.reset_index(drop=False)  # False: 不刪除原索引, True刪除原索引h, 默認False

    # 三、設置某列的新索引,建立新的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()

image

 

MultiIndex與Panel

一、MultiIndex

image

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()

二、Panel

panel咱們一般看作pandas的容器,沒辦法直接看3維數據,只能從某一個維度出發看另外2個二維的數據

image

image

image

 

Series

相關文章
相關標籤/搜索