Pandas系列学习教程——02 pandas数据结构

本文详细介绍了Pandas库中的DataFrame和Series两种核心数据结构,包括Series的创建方法、标签索引查询,以及DataFrame的定义、创建和数据查询。通过实例演示,帮助读者理解如何在数据分析中运用这些关键概念。
摘要由CSDN通过智能技术生成

系列文章目录


第一章 Pandas 学习入门之pandas读取数据

第二章 Pandas 学习入门之pandas数据结构


随着人工智能的不断发展,数据分析这门技术也越来越重要,很多人都开启了学习数据分析,本文就介绍了pandas学习的基础内容。本章讲解的是Pandas系列学习教程中的第二章——pandas数据结构,主要讲解DateFrame和Series。


前言

本章讲解的是Pandas系列学习教程中的第二章——pandas数据结构,主要讲解DateFrame和Series。


提示:以下是本篇文章正文内容,下面案例可供参考

一、pandas数据结构是什么?

pandas有两种数据结构——DataFrame & Series

1.DateFrame

DateFrame:二维数据,整个表格,多行多列。

2.Series

Series:一维数据,一行或一列。

二、Series

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

1.引入库

代码如下(示例):

import numpy as np
import pandas as pd

2.介绍三种创建Series的方法

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

代码如下(示例):

s1 = pd.Series([1,'a',5.2,7])
# 左侧为索引,右侧是数据
s1

dtype: object意味着该数据结构中的元素被视为Python对象,这在处理文本数据或包含多种数据类型的列时非常常见。

# 获取索引
s1.index

# 获取数据
s1.values

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

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

s2

s2.index

s2.values

 2.3  使用Python字典创建Series

sdata={'Ohio':35000,'Texas':72000,'Oregon':16000,'Utah':5000}
s3=pd.Series(sdata)
s3

 dtype: int64意味着该数据结构中的元素被存储为64位的整数值,这对于确保数据的数值范围和精度是非常重要的。它能够存储从-9,223,372,036,854,775,808到9,223,372,036,854,775,807的整数值。

3.根据标签索引查询数据

s2

s2['a']

 5.2

type(s2['a'])

 float

 float在Python中指的是浮点数类型,它用来表示实数(即可以有小数部分的数),并且能够表示非常大或非常小的数。

s2[['b','a']]

type(s2[['b','a']])

  pandas.core.series.Series

三、DataFrame

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

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

创建dataframe最常用的方法,见系列课程目录第一章读取纯文本文件、excel、mysql数据库

1.根据多个字典序列创建dataframe

data={
        'state':['Ohio','Ohio','Ohio','Nevada','Nevada'],
        'year':[2000,2001,2002,2001,2002],
        'pop':[1.5,1.7,3.6,2.4,2.9]
    }
df = pd.DataFrame(data)
df

df.dtypes
state     object
year       int64
pop      float64
dtype: object
# 行索引
df.index
RangeIndex(start=0, stop=5, step=1)
# 列索引
df.columns
Index(['state', 'year', 'pop'], dtype='object')

 四、从DataFrame中查询出Series

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

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

df['year']
0    2000
1    2001
2    2002
3    2001
4    2002
Name: year, dtype: int64
type(df['year'])
pandas.core.series.Series

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

df[['year', 'pop']]

type(df[['year', 'pop']])
pandas.core.frame.DataFrame

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

df.loc[1]
state    Ohio
year     2001
pop       1.7
Name: 1, dtype: object
type(df.loc[1])
pandas.core.series.Series

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

df.loc[1:3]

type(df.loc[1:3])
pandas.core.frame.DataFrame

  loc是标签索引,所以不是左闭右开。iloc是位置索引,符合左闭右开。

df.iloc[1:3]


总结

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的数据结构DateFrame和Series,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

  • 21
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值