Pandas —— 数据结构

前文

数据清洗 —— Pandas 的简单使用方法

Pandas —— 数据读取

文章目录

  • 前文
  • Series
    • 仅有数据列表即可产生最简单的 Series
      • 获取索引
      • 获取数据
    • 创建一个具有标签索引的 Series
      • 获取索引名称
    • 使用 Python 字典创建 Series
    • 根据标签索引查询数据
  • DataFrame
    • 根据多个字典序列创建 DataFrame
  • 从 DataFrame 中查询出 Series
    • 查询一列,结果是一个 pd.Series
    • 查询多列,结果是一个 pd.DataFrame
    • 查询一行,结果是一个 pd.Series
    • 查询多行,结果是一个 DataFrame

Series

Series 是一种类似于一维数组的对象,它由一组数据(不同数据类型)以及一组与之相关的数据标签(即索引)组成

仅有数据列表即可产生最简单的 Series

# author       :  Woo_home
# create_time  :  2020/7/18 11:33

import pandas as pd

s1 = pd.Series([1,'a',5.2,7])
print(s1)

输出:
Pandas —— 数据结构_第1张图片
在输出结果中,左侧为索引,右侧为数据

获取索引

# author       :  Woo_home
# create_time  :  2020/7/18 11:33

import pandas as pd

s1 = pd.Series([1,'a',5.2,7])
# 获取 Series 的索引
print(s1.index)

输出:
在这里插入图片描述

获取数据

# author       :  Woo_home
# create_time  :  2020/7/18 11:33

import pandas as pd

s1 = pd.Series([1,'a',5.2,7])
print(s1.values)

输出:
Pandas —— 数据结构_第2张图片

创建一个具有标签索引的 Series

使用 index 属性,可以指定索引名称

# author       :  Woo_home
# create_time  :  2020/7/18 11:33

import pandas as pd

s1 = pd.Series([1, 'a', 5.2, 7], index=['a', 'b', 'c', 'd'])
print(s1)

输出:
Pandas —— 数据结构_第3张图片

获取索引名称

# author       :  Woo_home
# create_time  :  2020/7/18 11:33

import pandas as pd

s1 = pd.Series([1, 'a', 5.2, 7], index=['a', 'b', 'c', 'd'])
print(s1.index)

输出:
在这里插入图片描述

使用 Python 字典创建 Series

# author       :  Woo_home
# create_time  :  2020/7/18 11:33

import pandas as pd

# 定义一个字典
data = {
    'id': 1,
    'name': 'Lisa',
    'age': 18
}

series_data = pd.Series(data)
print(series_data)

输出:
Pandas —— 数据结构_第4张图片

根据标签索引查询数据

比如我们想获取字典中某个键对应的值,那么可以这样做:

# author       :  Woo_home
# create_time  :  2020/7/18 11:33

import pandas as pd

# 定义一个字典
data = {
    'id': 1,
    'name': 'Lisa',
    'age': 18
}

series_data = pd.Series(data)
print(series_data['id'])    # 获取 id 对应的值
print(series_data['name'])  # 获取 name 对应的值

输出:
Pandas —— 数据结构_第5张图片


或者也可以这样

print(series_data[['id','name']])

输出:
Pandas —— 数据结构_第6张图片

DataFrame

DataFrame 是一个表格类型的数据结构

  • 每列可以是不同的值类型(数值、字符串、布尔值等)
  • 既有行索引 index,也有列索引 columns
  • 可以被看做由 Series 组成的字典
    Pandas —— 数据结构_第7张图片

根据多个字典序列创建 DataFrame

# author       :  Woo_home
# create_time  :  2020/7/18 11:33

import pandas as pd

# 定义一个字典
data = {
    'id': [1, 2, 3, 4, 5],
    'name': ['lisa', 'john', 'ling', 'sire', 'demo'],
    'age': [11, 12, 12, 15, 18]
}

series_data = pd.DataFrame(data)
print(series_data)

输出:
Pandas —— 数据结构_第8张图片


打印值的类型

print(series_data.dtypes)

输出:
Pandas —— 数据结构_第9张图片


打印列名

print(series_data.columns)

输出:
在这里插入图片描述


打印索引

print(series_data.index)

输出:
在这里插入图片描述

从 DataFrame 中查询出 Series

  • 如果只查询一行、一列,返回的是 pd.Series
  • 如果查询多行、多列,返回的是 pd.DataFrame

还是以这个字典为例

# 定义一个字典
data = {
    'id': [1, 2, 3, 4, 5],
    'name': ['lisa', 'john', 'ling', 'sire', 'demo'],
    'age': [11, 12, 12, 15, 18]
}

查询一列,结果是一个 pd.Series

# author       :  Woo_home
# create_time  :  2020/7/18 11:33

import pandas as pd

# 定义一个字典
data = {
    'id': [1, 2, 3, 4, 5],
    'name': ['lisa', 'john', 'ling', 'sire', 'demo'],
    'age': [11, 12, 12, 15, 18]
}

series_data = pd.DataFrame(data)
# 打印一列
print(series_data['name'])
print()
print(type(series_data['name']))

输出:
Pandas —— 数据结构_第10张图片
可以发现,输出确实是一个 Series 对象

查询多列,结果是一个 pd.DataFrame

# author       :  Woo_home
# create_time  :  2020/7/18 11:33

import pandas as pd

# 定义一个字典
data = {
    'id': [1, 2, 3, 4, 5],
    'name': ['lisa', 'john', 'ling', 'sire', 'demo'],
    'age': [11, 12, 12, 15, 18]
}

series_data = pd.DataFrame(data)
# 打印多列
print(series_data[['id', 'name']])
print()
print(type(series_data[['id', 'name']]))

输出:
Pandas —— 数据结构_第11张图片
从输出结果可以发现,当我们打印多列时,是一个 DataFrame

查询一行,结果是一个 pd.Series

# author       :  Woo_home
# create_time  :  2020/7/18 11:33

import pandas as pd

# 定义一个字典
data = {
    'id': [1, 2, 3, 4, 5],
    'name': ['lisa', 'john', 'ling', 'sire', 'demo'],
    'age': [11, 12, 12, 15, 18]
}

series_data = pd.DataFrame(data)
# 打印一行
print(series_data.loc[1])
print()
print(type(series_data.loc[1]))

输出:
Pandas —— 数据结构_第12张图片
从输出结果可以发现,当打印一行时,是一个 Series 对象

查询多行,结果是一个 DataFrame

# author       :  Woo_home
# create_time  :  2020/7/18 11:33

import pandas as pd

# 定义一个字典
data = {
    'id': [1, 2, 3, 4, 5],
    'name': ['lisa', 'john', 'ling', 'sire', 'demo'],
    'age': [11, 12, 12, 15, 18]
}

series_data = pd.DataFrame(data)
# 打印索引从 0 开始到最后的数据
print(series_data.loc[0:])
print()
print(type(series_data.loc[0:]))

输出:
Pandas —— 数据结构_第13张图片
从输出结果可以发现,当打印多行数据的时候,是一个 DataFrame

你可能感兴趣的:(#,数据分析)