系列文章目录
第一章 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提供了大量能使我们快速便捷地处理数据的函数和方法。