首页 > 编程语言 >【python】pandas:DataFrame详解

【python】pandas:DataFrame详解

时间:2024-06-18 17:29:58浏览次数:28  
标签:name python Series age DataFrame df 数据 pandas

DataFrame是Pandas库中的一个核心数据结构,用于处理和分析表格型数据。以下是关于DataFrame的详细介绍:

1. 定义

DataFrame是一个二维的表格型数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值等)。DataFrame可以被视为一个电子表格或SQL表,或是由多个Series对象组成的字典(这些Series对象共享一个索引)。

2. 创建

DataFrame的创建有多种方式:

  • 从列表或字典的列表创建,可以直接指定行索引和列索引。
  • 从Series组成的字典创建,其中每个Series作为一列。
  • 从NumPy数组或类似的数据结构创建。
  • 从文件中读取,例如csv文件等。可参考【python】pandas常见文件读取方法-CSDN博客

例如:
 

import pandas as pd
import numpy as np

# 从列表的字典创建
data = {'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35]} 
df = pd.DataFrame(data)

# 从字典的Series创建
names = pd.Series(['Alice', 'Bob', 'Charlie'], name='name')
ages = pd.Series([25, 30, 35], name='age')
df = pd.DataFrame({'name': names, 'age': ages})

# 从NumPy数组创建
data = np.array([[1, 2], [3, 4], [5, 6]])
df = pd.DataFrame(data, columns=['col1', 'col2'])

3. 主要功能

DataFrame提供了丰富的功能来操作和分析数据:

  • 数据访问:通过列名或行索引访问数据。
  • 数据筛选:基于条件过滤数据。
  • 数据转换:修改、添加或删除列,转换数据类型等。
  • 数据聚合:对数据进行分组并应用聚合函数。
  • 数据重塑:改变数据的形状或结构。

例如:

# 访问特定列
print(df['name'])

# 筛选数据
filtered_df = df[df['age'] > 30]

# 修改列数据类型
df['age'] = df['age'].astype(int)

# 聚合数据
grouped_df = df.groupby('name').mean()

# 数据重塑(以透视表为例)
pivot_df = df.pivot(index='name', columns='age', values='some_column')# 假设存在'some_column'列

4. 特点

  • 二维结构:DataFrame具有行和列,可以方便地处理表格型数据。
  • 灵活的数据访问:支持基于列名、行索引或布尔索引的数据访问。
  • 强大的数据处理能力:提供了丰富的数据处理和分析功能。
  • 易于集成:Pandas与NumPy、Matplotlib等库紧密集成,方便进行数据分析和可视化。

标签:name,python,Series,age,DataFrame,df,数据,pandas
From: https://blog.csdn.net/MAOZI8/article/details/139730926

相关文章

  • 【暑假Python上岸计划】最新20+Python实战案例,全程干货,30天看完即可接单就业!(基础+进阶
    前言今天给大家分享20+个基于python的实战案例,主要包含:数据分析、可视化、机器学习/深度学习、时序预测等,案例的主要特点:*提供源码:代码都是基于jupyternotebook,附带一定的注释,运行即可*数据齐全:大部分案例都有提供数据,部分案例使用内置数据集学习资料已打包,需要......
  • 【Python】python实现双向链表
    一、定义与结构双向链表(DoublyLinkedList)是一种链式数据结构,每个节点(Node)包含三个部分:一个数据域(data),一个指向前驱节点的指针(prev),以及一个指向后继节点的指针(next)。双向链表的每个节点都链接到前一个节点和后一个节点,从而允许在两个方向上进行遍历。双向链表的结构+---......
  • 自动化之python读取目录结构转换为element-plus tree结构
    defget_project_tree(start_path:str,original_path:str,tree_data:list):child_files=os.listdir(start_path)forchild_fileinchild_files:ifchild_filein['.gitignore','.idea','venv','__pycache__......
  • Python - Arrays and Numpy Arrays
    Mostprogramminglanguagesprovideadatastructurecalledarrays.InPython,arrayisapackageanditisdifferentfrom“core”pythonlists.    Thesyntaxforcreatinganarray. DifferencesbetweenNumpyArraysandArrays PythonPredefi......
  • k8s的python客户端库--kubernetes
    简介Kubernetes是什么Kubernetes是一个全新的基于容器技术的分布式架构解决方案,是Google开源的一个容器集群管理系统,Kubernetes简称K8S。Kubernetes是一个一站式的完备的分布式系统开发和支撑平台,更是一个开放平台,对现有的编程语言、编程框架、中间件没有任何侵入性。K......
  • python简单账表(包括联查)
    import clrclr.AddReference("System")clr.AddReference("Kingdee.BOS")clr.AddReference("Kingdee.BOS.Core")clr.AddReference("Kingdee.BOS.DataEntity")clr.AddReference("Kingdee.BOS.App")clr.AddReference(&q......
  • 关于几种语言(c#,php,python,javascript)字符串的gzip压缩与解压的整理
    背景介绍因为一直在处理restfulAPI,给移动端提供的数据需要考虑流量问题,优先考虑就是压缩现有的字符串,然后再考虑业务逻辑方面的减少流量。鉴于找这些资料也花了不少时间,所以整理了这篇文章,留作纪念。参考网址PHP与C#的压缩与解压http://www.oschina.net/question/2265205_181......
  • python函数声明(参数/返回值注释)和三个双引号用法
     1#python的"""三个双引号两种用法:(1)多行注释(2)定义多行字符串2deff1(ham:42,eggs:int='spam')->"Nothingtoseehere":3print("函数注释",f1.__annotations__)#函数注释{'ham':42,'eggs':<cl......
  • (slam工具)6 python四元数转化旋转矩阵
       importnumpyasnpfromscipy.spatial.transformimportRotationasRimportpyprojfrompyprojimportProj,transform#0.0169380355232107080.58455146147157355-0.488705791564092830.64744060819180593-129342.747563395343469822.8668770161534369......
  • IPython 使用技巧整理
    IPython使用技巧整理IPython是一种强大的交互式Pythonshell,提供了许多增强功能,适合数据科学、机器学习和科学计算等多个领域。以下是一些常用的IPython使用技巧。目录基础功能魔法命令扩展和插件与JupyterNotebook的集成调试与错误处理性能优化基础功能1.自动......