首页 > 编程语言 >Python酷库之旅-第三方库Pandas(012)

Python酷库之旅-第三方库Pandas(012)

时间:2024-07-09 14:56:28浏览次数:16  
标签:Python 30 28 29 keys 012 酷库 HDFStore pandas

目录

一、用法精讲

28、pandas.HDFStore.keys函数

28-1、语法

28-2、参数

28-3、功能

28-4、返回值

28-5、说明

28-6、用法

28-6-1、数据准备

28-6-2、代码示例

28-6-3、结果输出

29、pandas.HDFStore.groups函数

29-1、语法

29-2、参数

29-3、功能

29-4、返回值

29-5、说明

29-6、用法

29-6-1、数据准备

29-6-2、代码示例

29-6-3、结果输出 

30、pandas.HDFStore.walk函数

30-1、语法

30-2、参数

30-3、功能

30-4、返回值

30-5、说明

30-6、用法

30-6-1、数据准备

30-6-2、代码示例

30-6-3、结果输出 

二、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

一、用法精讲

28、pandas.HDFStore.keys函数
28-1、语法
# 28、pandas.HDFStore.keys函数
HDFStore.keys(include='pandas')
Return a list of keys corresponding to objects stored in HDFStore.

Parameters:
include
str, default ‘pandas’
When kind equals ‘pandas’ return pandas objects. When kind equals ‘native’ return native HDF5 Table objects.

Returns:
list
List of ABSOLUTE path-names (e.g. have the leading ‘/’).

Raises:
raises ValueError if kind has an illegal value.
28-2、参数

28-2-1、include(可选)用于控制返回的键的类型或格式。
        include参数允许你指定一个过滤器,以限制keys()方法返回的键的类型,它接受以下值之一(或其组合,通过列表或元组提供):

28-2-1-1、'all'(默认值):返回所有类型的键。
28-2-1-2、'group':仅返回组(HDF5中的目录或容器)的键。
28-2-1-3、'table'或'dataframe':仅返回以表格形式存储的DataFrame的键(HDF5 中的表格)。
28-2-1-4、'fixed'或'series'或'scalar':仅返回以固定格式存储的Series或单个值的键。

28-3、功能

        返回存储在HDF5文件中所有对象的键(即名称)的列表。

28-4、返回值

        返回一个包含字符串的列表,每个字符串都是一个存储在HDF5文件中的对象的键(名称),这些键是对象的绝对路径名,通常以/开头。

28-5、说明

        HDF5(Hierarchical Data Format version 5)是一种用于存储和组织大量数据的文件格式,它特别适合于存储和组织大量科学数据。

28-6、用法
28-6-1、数据准备
28-6-2、代码示例
# 28、pandas.HDFStore.keys函数
import pandas as pd
# 假设'example.h5'是你的HDF5文件名
with pd.HDFStore('example.h5') as store:
    # 获取所有键
    all_keys = store.keys()
    # 过滤出仅包含DataFrame的键
    df_keys = [key for key in all_keys if store.get_storer(key).is_table]
    # 过滤出仅包含Series的键
    series_keys = [key for key in all_keys if not store.get_storer(key).is_table]
    # 如果你想同时获取DataFrame和Series的键,可以这样做
    all_pandas_keys = df_keys + series_keys
if __name__ == '__main__':
    # 打印结果以供检查
    print(f"DataFrame keys: {df_keys}")
    print(f"Series keys: {series_keys}")
    print(f"All keys: {all_pandas_keys}")
28-6-3、结果输出
# 28、pandas.HDFStore.keys函数
# DataFrame keys: ['/data']
# Series keys: []
# All keys: ['/data']
29、pandas.HDFStore.groups函数
29-1、语法
# 29、pandas.HDFStore.groups函数
HDFStore.groups()
Return a list of all the top-level nodes.

Each node returned is not a pandas storage object.

Returns:
list
List of objects.
29-2、参数

        无

29-3、功能

        用于列出存储在HDF5文件中的所有组(或称为“目录”或“容器”)的信息。

29-4、返回值

        HDFStore.groups()方法的返回值通常包含以下信息:

29-4-1、组名:每个组的名称,它通常是一个字符串,表示HDF5文件中的路径。

29-4-2、键:每个组内包含的键(即,对象的名称),这些键对应于存储在组中的DataFrame、Series或其他pandas对象。

29-4-3、子组:如果有的话,还可能包含关于子组的信息。不过,请注意,并不是所有的实现都会返回子组信息,这取决于pandas的版本和HDF5文件的结构。

29-5、说明

        无      

29-6、用法
29-6-1、数据准备
29-6-2、代码示例
# 29、pandas.HDFStore.groups函数
import pandas as pd
import numpy as np
# 创建一些示例数据
df1 = pd.DataFrame(np.random.randn(10, 4), columns=list('ABCD'))
df2 = pd.DataFrame(np.random.randn(10, 4), columns=list('EFGH'))
series1 = pd.Series(np.random.randn(10), name='series1')
# 创建并写入数据到HDF5文件
with pd.HDFStore('example.h5') as store:
    store.put('dataframe1', df1)
    store.put('dataframe2', df2)
    store.put('series1', series1)
# 使用HDFStore.groups()列出文件中的所有组
with pd.HDFStore('example.h5') as store:
    groups = store.groups()
    print("Groups in HDF5 file:")
    for group in groups:
        print(group)
29-6-3、结果输出 
# 29、pandas.HDFStore.groups函数
# Groups in HDF5 file:
# /data (Group) ''
# /dataframe1 (Group) ''
# /dataframe2 (Group) ''
# /series1 (Group) ''
30、pandas.HDFStore.walk函数
30-1、语法
# 30、pandas.HDFStore.walk函数
HDFStore.walk(where='/')
Walk the pytables group hierarchy for pandas objects.

This generator will yield the group path, subgroups and pandas object names for each group.

Any non-pandas PyTables objects that are not a group will be ignored.

The where group itself is listed first (preorder), then each of its child groups (following an alphanumerical order) is also traversed, following the same procedure.

Parameters:
where
str, default “/”
Group where to start walking.

Yields:
path
str
Full path to a group (without trailing ‘/’).

groups
list
Names (strings) of the groups contained in path.

leaves
list
Names (strings) of the pandas objects contained in path.
30-2、参数

30-2-1、where(可选,默认值为'/')字符串,指定了遍历的起始位置。默认为根目录('/'),意味着从HDF5文件的根开始遍历,你可以指定任何有效的路径来从文件的某个特定部分开始遍历。

30-3、功能

        用于遍历存储在HDF5文件中的键(keys)或节点(nodes)。

30-4、返回值

        返回一个生成器(generator),它会产生一个包含两个元素的元组(tuple):(key, group)。

30-4-1、key: 当前遍历到的键(或路径)的字符串表示。

30-4-2、group: 一个pandas._libs.lib.H5Group对象,表示当前遍历到的组(或数据集)。注意,对于数据集(dataset),这个对象可能不是非常有用,因为HDF5的组(group)和数据集(dataset)在pandas的HDFStore中以不同的方式处理。

30-5、说明

        无

30-6、用法
30-6-1、数据准备
30-6-2、代码示例
# 30、pandas.HDFStore.walk函数
import pandas as pd
import numpy as np
# 创建一个示例HDF5文件
file_path = 'example.h5'
with pd.HDFStore(file_path, mode='w') as store:
    # 写入一些数据
    store.put('df1', pd.DataFrame(np.random.randn(10, 4), columns=list('ABCD')))
    store.put('df2', pd.DataFrame(np.random.randn(10, 4), columns=list('WXYZ')))
    store.put('subdir/df3', pd.DataFrame(np.random.randn(10, 4), columns=list('JKLM')))
# 使用walk方法遍历HDF5文件
with pd.HDFStore(file_path, mode='r') as store:
    print("Walking through the HDF5 file structure:")
    for root, dirs, files in store.walk(where='/'):
        print(f"Root: {root}")
        print(f"Directories: {dirs}")
        print(f"Files: {files}")
        print("-" * 40)
30-6-3、结果输出 
# 30、pandas.HDFStore.walk函数
# Walking through the HDF5 file structure:
# Root: 
# Directories: ['subdir']
# Files: ['df1', 'df2']
# ----------------------------------------
# Root: /subdir
# Directories: []
# Files: ['df3']
# ----------------------------------------

二、推荐阅读

1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页

标签:Python,30,28,29,keys,012,酷库,HDFStore,pandas
From: https://blog.csdn.net/ygb_1024/article/details/140274859

相关文章

  • Python实战训练(方程与拟合曲线)
    1.方程求e^x-派(3.14)的解用二分法来求解,先简单算出解所在的区间,然后用迭代法求逼近解,一般不能得到精准的解,所以设置一个能满足自己进度的标准来判断解是否满足这里打印出解x0是因为在递归过程中没有变量去接收返回值,所以返回x0,再打印x0得到的是None,再用numpy自带的log(pi)就查......
  • 爆赞!GitHub首本Python开发实战背记手册,标星果然百万名不虚传
    Python (发音:['paiθ(ə)n;(US)'paiθɔn]n.蟒蛇,巨蛇),是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。Python具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用。Python语言的特点......
  • C#将文件以byte[]形式传给python的sanic接口
    C#如何将文件以byte[]形式传给python的sanic接口?C#调用的部分你可以按照以下步骤进行:1)读取文件,将文件转换成byte[];2)定义类,将byte[]内容转成json格式传输;3)使用post请求将content传输到接口,返回结果;C#调用部分代码:/*将文件转换成byte[]格式*/protectedstaticbyte[]GetFileD......
  • Python函数进阶:高阶函数与函数式编程实战
    前言大家好!今天我们来探讨一个非常有趣且实用的话题——Python函数进阶,特别是高阶函数与函数式编程。记得上次我在一个项目中需要处理复杂的数据流,通过高阶函数和函数式编程,我不仅简化了代码,还提高了运行效率。说到这里,大家是否也想掌握这门技术呢?让我们一起深入了解Pytho......
  • Python多线程与多进程编程:提升程序性能的实用技巧
    前言大家好!今天我们要深入探讨Python中的多线程与多进程编程,这可是提升程序并发性能的关键技能之一。记得我在处理大量数据时,通过多线程和多进程技术,大大提高了程序的执行效率。为了让大家也能掌握这些实用技巧,我将通过多个具体案例,详细讲解如何在Python中实现多线程和多......
  • 用Python1000多行代码实现ATM操作系统
    基于Python实现ATM操作系统概要基于Python语言,实现ATM的基本功能,包括查询余额、存款、取款、转账、注册等基本功能。能够实现用户和管理员两种身份识别,管理员有权限对系统做出修改,包括提升用户级别、关闭系统等操作。用户信息保存于user_data.txt文件中,也可自行接入数据库......
  • AES-CBC模式加解密(Python)
    importbase64try:fromCrypto.CipherimportAESfromCrypto.Util.Paddingimportpad,unpadexceptImportError:print('请安装加解密库pycryptodome')classAesSample(object):def__init__(self):self.key='MbQeThWmZq4t6w9......
  • Python是如何进行内存管理的以及引用计数和垃圾回收机制的定义
    Python中的内存管理是一个自动且高效的过程,主要依赖于两种机制:引用计数(ReferenceCounting)和垃圾回收(GarbageCollection,GC)。这些机制共同工作以确保不再被使用的内存能够被及时释放,从而避免内存泄漏。引用计数引用计数是Python中最主要的内存管理机制。Python中的每个对象都......
  • Python基础
    Smiling&Weeping----也许世界上有五千朵和你一模一样的花    但只有你是我独一无二的玫瑰   使用Vscode进行Pythondebug的流程  1.打开文件夹  在VSCode中打开直接打......
  • Python酷库之旅-第三方库Pandas(011)
    目录一、用法精讲25、pandas.HDFStore.get函数25-1、语法25-2、参数25-3、功能25-4、返回值25-5、说明25-6、用法25-6-1、数据准备25-6-2、代码示例25-6-3、结果输出26、pandas.HDFStore.select函数26-1、语法26-2、参数26-3、功能26-4、返回值26-5、说明26-......