前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Pandas | 数据结构

Pandas | 数据结构

作者头像
生信real
发布2022-12-20 09:27:55
1.6K0
发布2022-12-20 09:27:55
举报
文章被收录于专栏:Linux基础入门

前言

上一期介绍了将文件加载到Pandas对象,这个对象就是Pandas的数据结构。本次我们就来系统介绍一下Pandas的数据结构。

本文框架

  • 1. 数据结构简介
  • 2. 导入Pandas、Numpy
  • 3. Series
    • 3.1 仅有数据列表即可产生最简单的Series
    • 3.2 创建一个具有标签索引的Series
    • 3.3 使用Python字典创建Series
    • 3.4 根据标签索引查询数据
  • 4. DataFrame
    • 4.1 根据多个字典序列创建dataframe
  • 5. 从DataFrame中查询出Series
    • 5.1 查询一列
    • 5.2 查询多列
    • 5.3 查询一行
    • 5.4 查询多行

1. 数据结构简介

Pandas提供Series和DataFrame作为数组数据的存储框架。

DataFrame:代表整个表格对象,是一个二维的数据,有多行和多列;

Series:每一列或者每一行都是一个Series,他是一个一维的数据(图中红框)。

2. 导入Pandas、Numpy

代码语言:javascript
复制
import pandas as pd
import numpy as np

3. Series

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

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

代码语言:javascript
复制
# 创建Series
s1 = pd.Series([1,2,5.2,"a"])
s1
# 输出结果(左侧为索引,右侧是数据)
0      1
1      2
2    5.2
3      a
dtype: object
--------------------------------------------------------------------------------
# 获取索引
s1.index
# 输出结果
RangeIndex(start=0, stop=4, step=1)
-------------------------------------------------------------------------------
# 获取数据
s1.values
# 输出结果
array([1, 'a', 5.2, 7], dtype=object)

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

代码语言:javascript
复制
# 创建Series
s2 = pd.Series([1,2,5.2,"a"],index=["a","b","c","d"])
s2
# 输出结果
a      1
b      2
c    5.2
d      a
dtype: object

3.3 使用Python字典创建Series

代码语言:javascript
复制
# 创建Series
sdata = {"a":1,"b":2,"c":3,"d":4}
s3 = pd.Series(sdata)
s3
# 输出结果
a    1
b    2
c    3
d    4
dtype: int64

3.4 根据标签索引查询数据

查询一个值时返回值为一个数值,查询多个值时返回Series对象。

代码语言:javascript
复制
# 查询一个值
s3["b"]
# 输出结果
2
-------------------------------------------------------------------------------
# 查询多个值(使用双中括号)
s3[["a","c"]]
# 输出结果
a    1
c    3
dtype: int64

4. DataFrame

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

每列可以是不同的值类型(数值、字符串、布尔值等) 既有行索引index,也有列索引columns,可以被看做由Series组成的字典。

4.1 根据多个字典序列创建dataframe

代码语言:javascript
复制
# 创建DataFrame
data = {"a":[1,2,3,4,5],
        "b":[7,8,9,10,11],
        "c":[12,13,14,15,16]}
df = pd.DataFrame(data)
df
# 输出结果
   a   b   c
0  1   7  12
1  2   8  13
2  3   9  14
3  4  10  15
4  5  11  16
---------------------------------------------------------------------------------
# 查询类型
df.dtypes
# 返回结果
a    int64
b    int64
c    int64
dtype: object
---------------------------------------------------------------------------------
# 查询列索引
df.columns
# 返回结果
Index(['a', 'b', 'c'], dtype='object')
---------------------------------------------------------------------------------
# 查询行索引
df.index
# 返回结果
RangeIndex(start=0, stop=5, step=1)

5. 从DataFrame中查询出Series

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

如果查询多行、多列,返回的是pd.DataFrame。

代码语言:javascript
复制
# 演示数据框
df
# 输出结果
   a   b   c
0  1   7  12
1  2   8  13
2  3   9  14
3  4  10  15
4  5  11  16

5.1 查询一列

结果是一个pd.Series。

代码语言:javascript
复制
# 查询一列
df["a"]
# 输出结果
0    1
1    2
2    3
3    4
4    5
Name: a, dtype: int64
-------------------------------------------------------------------------------
# 查看类型
type(df['a'])
# 返回结果
pandas.core.series.Series

5.2 查询多列

结果是一个pd.DataFrame。

代码语言:javascript
复制
# 查询多列
df[['a',"b"]]
# 返回结果
   a   b
0  1   7
1  2   8
2  3   9
3  4  10
4  5  11
--------------------------------------------------------------------------------
# 查看类型
type(df[['a',"b"]])
# 返回结果
pandas.core.frame.DataFrame

5.3 查询一行

结果是一个pd.Series。

代码语言:javascript
复制
# 查询一行
df.loc[1]
# 返回结果
a     2
b     8
c    13
Name: 1, dtype: int64
--------------------------------------------------------------------------------
# 查看类型
type(df.loc[1])
# 返回结果
pandas.core.series.Series

5.4 查询多行

结果是一个pd.DataFrame。

代码语言:javascript
复制
# 查询多行
df.loc[1:3]
# 返回结果
   a   b   c
1  2   8  13
2  3   9  14
3  4  10  15
--------------------------------------------------------------------------------
# 查看类型
type(df.loc[1:3])
# 返回结果
pandas.core.frame.DataFrame
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-10-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信百宝箱 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 本文框架
    • 1. 数据结构简介
      • 2. 导入Pandas、Numpy
        • 3. Series
          • 3.1 仅有数据列表即可产生最简单的Series
          • 3.2 创建一个具有标签索引的Series
          • 3.3 使用Python字典创建Series
          • 3.4 根据标签索引查询数据
        • 4. DataFrame
          • 4.1 根据多个字典序列创建dataframe
        • 5. 从DataFrame中查询出Series
          • 5.1 查询一列
          • 5.2 查询多列
          • 5.3 查询一行
          • 5.4 查询多行
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档