当前位置: 首页 > news >正文

Pandas系列|第二期:Pandas中的数据结构

1.Pandas中的数据结构:Series和DataFrame

Pandas 的主要数据结构是 Series (一维数据)与 DataFrame(二维数据),这两种数据结构足以处理金融、统计、社会科学、工程等领域里的大多数典型用例。

Series 是一种类似于一维数组的对象,它由一组数据(各种Numpy数据类型)以及一组与之相关的数据标签(即索引)组成。
DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。
DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共同用一个索引)

2.示例代码

import numpy as np
import pandas as pd# 用numpy数组创建Series
data = pd.Series([0.25, 0.5, 0.75, 1.0])
n1 = data.values  # values是一个numpy数组
sub1data = data[1]
sub2data = data[1:3]data2 = pd.Series([0.25, 0.5, 0.75, 1.0],index=['a', 'b', 'c', 'd'])  # 类似一个广义的numpy数组,可以显式地指定index
sub1data2 = data2['b']
data3 = pd.Series([0.25, 0.5, 0.75, 1.0],index=[2, 5, 3, 7])  # 索引可以不必是连续的# 用字典创建Series
population_dict = {'California': 38332521,'Texas': 26448193,'New York': 19651127,'Florida': 19552860,'Illinois': 12882135}
population = pd.Series(population_dict)
population1 = population['California']
population2 = population['California':'Illinois']# 直接创建Series
pd.Series([2, 4, 6])
pd.Series(5, index=[100, 200, 300])
pd.Series({2: 'a', 1: 'b', 3: 'c'})
pd.Series({2: 'a', 1: 'b', 3: 'c'}, index=[3, 2])  # 只返回指定索引的部分数据# 用多个Series创建DataFrame
area_dict = {'California': 423967,'Texas': 695662,'New York': 141297,'Florida': 170312,'Illinois': 149995}
area = pd.Series(area_dict)
states = pd.DataFrame({'population': population,'area': area})
print(states.index)  # 索引名
print(states.columns)  # 列名
print(states['area']) # 访问某一列# 用单个Series创建DataFrame
# DataFrame是Series的一个集合,也可以由一个Series构成
states1 = pd.DataFrame(population, columns=['population'])# 用字典创建DataFrame
data = [{'a': i, 'b': 2 * i} for i in range(3)]
dataset0 = pd.DataFrame(data)# 创建含有NaN的DataFrame
dataset1 = pd.DataFrame([{'a': 1, 'b': 2}, {'b': 3, 'c': 4}])# 用二维numpy数组创建DataFrame
dataset2 = pd.DataFrame(np.random.rand(3, 2),columns=['foo', 'bar'],index=['a', 'b', 'c'])# 用结构化的numpy数组创建DataFrame
A = np.zeros(3, dtype=[('A', 'i8'), ('B', 'f8')])
dataset3 = pd.DataFrame(A)# 在pandas种索引本身是一种结构,用整数构造索引
ind = pd.Index([2, 3, 5, 7, 11])
print(ind[1])
print('---------------------------------')
print(ind[::2]) # 隔2个序号取一个值
print(ind[::-1]) # 把列倒着排一遍
print(ind.size, ind.shape, ind.ndim, ind.dtype)# 索引是一种有序的集合,可以求交集、并集、差集
indA = pd.Index([1, 3, 5, 7, 9])
indB = pd.Index([2, 3, 5, 7, 11])
print(indA & indB)  # intersection
print(indA | indB)  # union
print(indA ^ indB)  # symmetric difference


http://www.mrgr.cn/news/81127.html

相关文章:

  • vscode 识别git目录
  • 【快速入门 LVGL】-- 1、STM32 工程移植 LVGL
  • Linux配置ssh登陆
  • 《计算机组成及汇编语言原理》阅读笔记:p28-p47
  • VLAN数据格式
  • More Effective C++之技术Techniques,Idioms,Patterns_条款25
  • Redis安装、启动、卸载
  • GitCode 光引计划投稿|MilvusPlus:开启向量数据库新篇章
  • NIPS2014 | GAN: 生成对抗网络
  • C语言初阶习题【15】猜数字游戏
  • OpenEuler 22.03 不依赖zookeeper安装 kafka 3.3.2集群
  • 智慧商城:编辑切换状态,删除功能,空购物车处理
  • 华为实训课笔记 2024 1223-
  • 简易CPU设计入门:本系统中的通用寄存器(一)
  • 设计模式期末复习
  • JavaScriptEs6 - String类和Array类扩展内容
  • Kamailio db_text 之使用
  • 计算机毕业设计PySpark+PyFlink+Hive地震预测系统 地震数据分析可视化 地震爬虫 大数据毕业设计 Hadoop 机器学习 深度学习
  • 基于OpenAI API使用Fastchat部署调用本地大模型
  • spring cache源码解析(四)——从@EnableCaching开始来阅读源码
  • 【数据结构练习题】栈与队列
  • 浏览器工作原理与实践-12|栈空间和堆空间:数据是如何存储的
  • 【Linux进程】进程间通信(共享内存、消息队列、信号量)
  • Jetpack 练手项目 —— Sunflower
  • 计算机毕业设计PyFlink+Hadoop广告推荐系统 广告预测 广告数据分析可视化 广告爬虫 大数据毕业设计 Spark Hive 深度学习 机器学
  • 洛谷 P2142:高精度减法 ← string+数组