Pandas —— 数据结构

前文

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

Pandas —— 数据读取

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)

输出:
在这里插入图片描述
在输出结果中,左侧为索引,右侧为数据

获取索引

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

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

创建一个具有标签索引的 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)

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

获取索引名称

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

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

根据标签索引查询数据

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

# 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 对应的值

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


或者也可以这样

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

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

DataFrame

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

  • 每列可以是不同的值类型(数值、字符串、布尔值等)
  • 既有行索引 index,也有列索引 columns
  • 可以被看做由 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)
print(series_data)

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


打印值的类型

print(series_data.dtypes)

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


打印列名

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']))

输出:
在这里插入图片描述
可以发现,输出确实是一个 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']]))

输出:
在这里插入图片描述
从输出结果可以发现,当我们打印多列时,是一个 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]))

输出:
在这里插入图片描述
从输出结果可以发现,当打印一行时,是一个 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:]))

输出:
在这里插入图片描述
从输出结果可以发现,当打印多行数据的时候,是一个 DataFrame

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值