数据挖掘---Pandas的学习



Pandas介绍(panel + data + analysis)

数据挖掘---Pandas的学习_添加行

为什么使用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()


数据挖掘---Pandas的学习_添加行_02

1、结构:

数据挖掘---Pandas的学习_添加行_03

2、属性

     shape +  index  +  columns  + values  +      T

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

数据挖掘---Pandas的学习_添加行_04

3、方法

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

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

4、DataFrame索引的设置

       1)修改行列索引值: 只能整体修改,不能单独修改索引

       2)重设索引

       3)设置新索引

数据挖掘---Pandas的学习_数据结构_05

数据挖掘---Pandas的学习_数据_06

数据挖掘---Pandas的学习_添加行_07

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

数据挖掘---Pandas的学习_数据_08


MultiIndex与Panel

1、MultiIndex

数据挖掘---Pandas的学习_添加行_09

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个二维的数据

数据挖掘---Pandas的学习_数据结构_10

数据挖掘---Pandas的学习_数据结构_11

数据挖掘---Pandas的学习_数据结构_12


Series


作者:小a玖拾柒 

-------------------------------------------

个性签名: 所有的事情到最後都是好的,如果不好,那說明事情還沒有到最後~

本文版权归作者【小a玖拾柒​】 ,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利!