Pandas之Series和DataFrame

Pandas的数据结构分析

Pandas中有两个主要的数据结构: SeriesDataFrame,其中 Series 是一维的数据结构, DataFrame 是二维的、表格性的数据结构

Series

Series是一个类似于一维数组的对象,它能够保存任何数据类型,主要有一组数据和与之相关的索引两部分组成,如图:

Pandas之Series和DataFrame

; 创建Series对象

Pandas 的 Series 对象可以使用以下构造方法创建

class pandas.series(data=None, index=None, dtype=None,name=None,copy=False,fastpath=False)

  1. 传入列表构造 Series 对象,不传入 index 参数,此时默认会创建一个 0~N 的整数索引
import pandas as pd
ser_obj = pd.Series([1,2,3,4])
ser_obj

Pandas之Series和DataFrame
  1. 指定索引创建 Series 对象,索引必须是唯一的,且与数据的长度相同
ser_obj = pd.Series([1,2,3,4,5],index=['a','b','c','d','e'])
ser_obj

Pandas之Series和DataFrame
  1. 使用 dict 进行构建
student_data = {1:"小明", 2:"小张", 3:"小李", 4:"小乐"}
ser_obj = pd.Series(student_data)
ser_obj

Pandas之Series和DataFrame
  1. 指定数据类型
ser_obj = pd.Series([1,2,3,4,5],index=['a','b','c','d','e'],dtype='float64')
ser_obj

Pandas之Series和DataFrame

获取Series对象的索引和数据

获取 Series 对象的索引和数据,可以分别使用 Series 对象的 index属性和 value属性获取,索引和数据都是以对象的形式存在

ser_obj = pd.Series([1,2,3,4,5],index=['a','b','c','d','e'])
ser_obj.index

Pandas之Series和DataFrame
ser_obj.values

Pandas之Series和DataFrame

获取单个值可以直接索引默认的索引

arr_obj[2]

Pandas之Series和DataFrame

DataFrame

DataFrame是一个类似于二维数组或表格的对象,它的每列数据可以是不同的数据类型。与Series对象相似,DataFrame 的结构也是由索引和数据组成的,不同的是,DataFrame 不仅有行索引,还有列索引

Pandas之Series和DataFrame

; 创建DataFrame

Pandas 的 DataFrame 类对象可以使用以下的构造方法创建:

pandas.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False)

其余参数的含义和 Series构造方法中的参数的含义一样

  1. 不指定索引创建,行索引列索引都是默认的
df_obj = pd.DataFrame([['a','b','c','d'],['e','f','g','h']])
df_obj

Pandas之Series和DataFrame
  1. 指定索引创建
df_obj = pd.DataFrame([['a','b','c','d'],['e','f','g','h']],index=['x','y'],columns=[1,2,3,4])
df_obj

Pandas之Series和DataFrame

获取DataFrame 对象的索引和数据

获取行索引和列索引

df_obj = pd.DataFrame([['a','b','c','d'],['e','f','g','h']],index=['x','y'],columns=[1,2,3,4])
df_obj.index

Pandas之Series和DataFrame
df_obj.columns

Pandas之Series和DataFrame

获取数据

获取列的两种方法
  1. 通过列索引获取列数据
df_obj = pd.DataFrame([['a','b','c','d'],['e','f','g','h']],index=['x','y'],columns=[1,2,3,4])
df_obj

Pandas之Series和DataFrame
df_obj[1]

Pandas之Series和DataFrame
  1. 通过属性获取列数据
df_obj = pd.DataFrame([['a','b','c','d'],['e','f','g','h']],index=['x','y'],columns=['c1','c2','c3','c4'])
df_obj

Pandas之Series和DataFrame
df_obj.c1

Pandas之Series和DataFrame
获取行的两种方法
  1. loc[行标签名]
df_obj = pd.DataFrame([['a','b','c','d'],['e','f','g','h']],index=['x','y'],columns=['c1','c2','c3','c4'])
df_obj

Pandas之Series和DataFrame
df_obj.loc['x']

Pandas之Series和DataFrame
  1. iloc[默认整数索引]
 df_obj = pd.DataFrame([['a','b','c','d'],['e','f','g','h']],index=['x','y'],columns=['c1','c2','c3','c4'])
df_obj

Pandas之Series和DataFrame
df.iloc[1]

Pandas之Series和DataFrame

添加和删除数据

添加数据

要想为DataFrame添加一列数据,可以通过给列索引或者列名赋值的方式实现。新增列的长度必须和其他列的长度保持一致

 df_obj = pd.DataFrame([['a','b','c','d'],['e','f','g','h']],index=['x','y'],columns=['c1','c2','c3','c4'])
df_obj

Pandas之Series和DataFrame
df_obj['c5'] = ['s','b']
df_obj

Pandas之Series和DataFrame

删除数据

要想删除一列数据,则可以使用 del语句实现

df_obj = pd.DataFrame([['a','b','c','d'],['e','f','g','h']],index=['x','y'],columns=['c1','c2','c3','c4'])
df_obj

Pandas之Series和DataFrame
del df_obj[c1]
df_obj

Pandas之Series和DataFrame

Original: https://blog.csdn.net/qq2351227851/article/details/122020403
Author: 地铁洗涤感冒药
Title: Pandas之Series和DataFrame

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/753613/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球