当前位置:   article > 正文

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

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

目录

一、用法精讲

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、语法
  1. # 28、pandas.HDFStore.keys函数
  2. HDFStore.keys(include='pandas')
  3. Return a list of keys corresponding to objects stored in HDFStore.
  4. Parameters:
  5. include
  6. str, default ‘pandas’
  7. When kind equals ‘pandas’ return pandas objects. When kind equals ‘native’ return native HDF5 Table objects.
  8. Returns:
  9. list
  10. List of ABSOLUTE path-names (e.g. have the leading ‘/’).
  11. Raises:
  12. 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、代码示例
  1. # 28、pandas.HDFStore.keys函数
  2. import pandas as pd
  3. # 假设'example.h5'是你的HDF5文件名
  4. with pd.HDFStore('example.h5') as store:
  5. # 获取所有键
  6. all_keys = store.keys()
  7. # 过滤出仅包含DataFrame的键
  8. df_keys = [key for key in all_keys if store.get_storer(key).is_table]
  9. # 过滤出仅包含Series的键
  10. series_keys = [key for key in all_keys if not store.get_storer(key).is_table]
  11. # 如果你想同时获取DataFrame和Series的键,可以这样做
  12. all_pandas_keys = df_keys + series_keys
  13. if __name__ == '__main__':
  14. # 打印结果以供检查
  15. print(f"DataFrame keys: {df_keys}")
  16. print(f"Series keys: {series_keys}")
  17. print(f"All keys: {all_pandas_keys}")
28-6-3、结果输出
  1. # 28、pandas.HDFStore.keys函数
  2. # DataFrame keys: ['/data']
  3. # Series keys: []
  4. # All keys: ['/data']
29、pandas.HDFStore.groups函数
29-1、语法
  1. # 29、pandas.HDFStore.groups函数
  2. HDFStore.groups()
  3. Return a list of all the top-level nodes.
  4. Each node returned is not a pandas storage object.
  5. Returns:
  6. list
  7. 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、代码示例
  1. # 29、pandas.HDFStore.groups函数
  2. import pandas as pd
  3. import numpy as np
  4. # 创建一些示例数据
  5. df1 = pd.DataFrame(np.random.randn(10, 4), columns=list('ABCD'))
  6. df2 = pd.DataFrame(np.random.randn(10, 4), columns=list('EFGH'))
  7. series1 = pd.Series(np.random.randn(10), name='series1')
  8. # 创建并写入数据到HDF5文件
  9. with pd.HDFStore('example.h5') as store:
  10. store.put('dataframe1', df1)
  11. store.put('dataframe2', df2)
  12. store.put('series1', series1)
  13. # 使用HDFStore.groups()列出文件中的所有组
  14. with pd.HDFStore('example.h5') as store:
  15. groups = store.groups()
  16. print("Groups in HDF5 file:")
  17. for group in groups:
  18. print(group)
29-6-3、结果输出 
  1. # 29、pandas.HDFStore.groups函数
  2. # Groups in HDF5 file:
  3. # /data (Group) ''
  4. # /dataframe1 (Group) ''
  5. # /dataframe2 (Group) ''
  6. # /series1 (Group) ''
30、pandas.HDFStore.walk函数
30-1、语法
  1. # 30、pandas.HDFStore.walk函数
  2. HDFStore.walk(where='/')
  3. Walk the pytables group hierarchy for pandas objects.
  4. This generator will yield the group path, subgroups and pandas object names for each group.
  5. Any non-pandas PyTables objects that are not a group will be ignored.
  6. 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.
  7. Parameters:
  8. where
  9. str, default “/”
  10. Group where to start walking.
  11. Yields:
  12. path
  13. str
  14. Full path to a group (without trailing ‘/’).
  15. groups
  16. list
  17. Names (strings) of the groups contained in path.
  18. leaves
  19. list
  20. 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、代码示例
  1. # 30、pandas.HDFStore.walk函数
  2. import pandas as pd
  3. import numpy as np
  4. # 创建一个示例HDF5文件
  5. file_path = 'example.h5'
  6. with pd.HDFStore(file_path, mode='w') as store:
  7. # 写入一些数据
  8. store.put('df1', pd.DataFrame(np.random.randn(10, 4), columns=list('ABCD')))
  9. store.put('df2', pd.DataFrame(np.random.randn(10, 4), columns=list('WXYZ')))
  10. store.put('subdir/df3', pd.DataFrame(np.random.randn(10, 4), columns=list('JKLM')))
  11. # 使用walk方法遍历HDF5文件
  12. with pd.HDFStore(file_path, mode='r') as store:
  13. print("Walking through the HDF5 file structure:")
  14. for root, dirs, files in store.walk(where='/'):
  15. print(f"Root: {root}")
  16. print(f"Directories: {dirs}")
  17. print(f"Files: {files}")
  18. print("-" * 40)
30-6-3、结果输出 
  1. # 30、pandas.HDFStore.walk函数
  2. # Walking through the HDF5 file structure:
  3. # Root:
  4. # Directories: ['subdir']
  5. # Files: ['df1', 'df2']
  6. # ----------------------------------------
  7. # Root: /subdir
  8. # Directories: []
  9. # Files: ['df3']
  10. # ----------------------------------------

二、推荐阅读

1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/866956
推荐阅读
相关标签
  

闽ICP备14008679号