📜  如何在Python中使用 Pandas 将元数据添加到 DataFrame 或 Series?

📅  最后修改于: 2022-05-13 01:54:18.817000             🧑  作者: Mango

如何在Python中使用 Pandas 将元数据添加到 DataFrame 或 Series?

元数据,也称为关于数据的数据。元数据可以为我们提供数据描述、摘要、内存中的存储以及特定数据的数据类型。我们将显示和创建元数据。

设想:

  • 我们可以简单地使用info()命令来获取元数据
  • 我们可以将元数据添加到现有数据中,并可以查看创建数据的元数据。

脚步:

  • 创建数据框
  • 查看已经存在的元数据
  • 创建元数据并查看元数据。

在这里,我们将创建一个数据框,我们可以在创建的数据框上查看和创建元数据

查看现有的元数据方法:

  • dataframe_name.info() – 它将以表格格式返回数据类型空值和内存使用情况
  • dataframe_name.columns() – 它将返回一个数组,其中包含数据框中的所有列名
  • dataframe_name.describe() - 它将给出给定数字数据框列的描述性统计数据,如均值、中值、标准差等。

创建元数据

我们可以使用dataframe.scale()dataframe.offset()方法为特定数据框创建元数据。它们用于表示元数据。

句法:

下面是一些描述如何将元数据添加到 DataFrame 或 Series 的示例:

示例 1

最初创建并显示一个数据框。

Python3
# import required modules
import pandas as pd
 
# initialise data of lists using dictionary
data = {'Name': ['Sravan', 'Deepak', 'Radha', 'Vani'],
        'College': ['vignan', 'vignan Lara', 'vignan', 'vignan'],
        'Department': ['CSE', 'IT', 'IT', 'CSE'],
        'Profession': ['Student', 'Assistant Professor',
                       'Programmer & ass. Proff',
                       'Programmer & Scholar'],
        'Age': [22, 32, 45, 37]
        }
 
# create dataframe
df = pd.DataFrame(data)
 
# print dataframe
df


Python3
# data information
df.info()
 
# data columns description
df.columns
 
# describing columns
df.describe()


Python3
# initializing scale and offset
# for creating meta data
df.scale = 0.1
df.offset = 15
 
# display scale and and offset
print('Scale:', df.scale)
print('Offset:', df.offset)


Python3
# store in hdf5 file format
storedata = pd.HDFStore('college_data.hdf5')
 
# data
storedata.put('data_01', df)
 
# including metadata
metadata = {'scale': 0.1, 'offset': 15}
 
# getting attributes
storedata.get_storer('data_01').attrs.metadata = metadata
 
# closing the storedata
storedata.close()
 
# getting data
with pd.HDFStore('college_data.hdf5') as storedata:
    data = storedata['data_01']
    metadata = storedata.get_storer('data_01').attrs.metadata
 
# display data
print('\nDataframe:\n', data)
 
# display stored data
print('\nStored Data:\n', storedata)
 
# display metadata
print('\nMetadata:\n', metadata)


Python3
# import required module
import pandas as pd
 
# initialise data of lists using dictionary.
data = {'Name': ['Sravan', 'Deepak', 'Radha', 'Vani'],
        'College': ['vignan', 'vignan Lara', 'vignan', 'vignan'],
        'Department': ['CSE', 'IT', 'IT', 'CSE'],
        'Profession': ['Student', 'Assistant Professor',
                       'Programmer & ass. Proff',
                       'Programmer & Scholar'],
        'Age': [22, 32, 45, 37]
        }
 
# Create series
ser = pd.Series(data)
 
# display data
ser


Python3
# storing data in hdf5 file format
storedata = pd.HDFStore('college_data.hdf5')
 
# data
storedata.put('data_01', ser)
 
# mentioning scale and offset
metadata = {'scale': 0.1, 'offset': 15}
 
storedata.get_storer('data_01').attrs.metadata = metadata
 
# storing close
storedata.close()
 
# getting attributes
with pd.HDFStore('college_data.hdf5') as storedata:
    data = storedata['data_01']
    metadata = storedata.get_storer('data_01').attrs.metadata
 
# display data
print('\nData:\n', data)
 
# display stored data
print('\nStored Data:\n', storedata)
 
# display Metadata
print('\nMetadata:\n', metadata)


输出:

然后检查数据框属性和描述。

蟒蛇3

# data information
df.info()
 
# data columns description
df.columns
 
# describing columns
df.describe()

输出:

初始化数据帧的偏移量和比例。

蟒蛇3

# initializing scale and offset
# for creating meta data
df.scale = 0.1
df.offset = 15
 
# display scale and and offset
print('Scale:', df.scale)
print('Offset:', df.offset)

输出:

我们以hdf5文件格式存储数据,然后我们将显示数据帧及其存储的元数据。

蟒蛇3

# store in hdf5 file format
storedata = pd.HDFStore('college_data.hdf5')
 
# data
storedata.put('data_01', df)
 
# including metadata
metadata = {'scale': 0.1, 'offset': 15}
 
# getting attributes
storedata.get_storer('data_01').attrs.metadata = metadata
 
# closing the storedata
storedata.close()
 
# getting data
with pd.HDFStore('college_data.hdf5') as storedata:
    data = storedata['data_01']
    metadata = storedata.get_storer('data_01').attrs.metadata
 
# display data
print('\nDataframe:\n', data)
 
# display stored data
print('\nStored Data:\n', storedata)
 
# display metadata
print('\nMetadata:\n', metadata)

输出:

示例 2

Pandas 中的系列数据结构不支持 info 和所有方法。所以我们直接创建元数据并显示。

蟒蛇3

# import required module
import pandas as pd
 
# initialise data of lists using dictionary.
data = {'Name': ['Sravan', 'Deepak', 'Radha', 'Vani'],
        'College': ['vignan', 'vignan Lara', 'vignan', 'vignan'],
        'Department': ['CSE', 'IT', 'IT', 'CSE'],
        'Profession': ['Student', 'Assistant Professor',
                       'Programmer & ass. Proff',
                       'Programmer & Scholar'],
        'Age': [22, 32, 45, 37]
        }
 
# Create series
ser = pd.Series(data)
 
# display data
ser

输出:

现在我们将存储元数据,然后显示它。

蟒蛇3

# storing data in hdf5 file format
storedata = pd.HDFStore('college_data.hdf5')
 
# data
storedata.put('data_01', ser)
 
# mentioning scale and offset
metadata = {'scale': 0.1, 'offset': 15}
 
storedata.get_storer('data_01').attrs.metadata = metadata
 
# storing close
storedata.close()
 
# getting attributes
with pd.HDFStore('college_data.hdf5') as storedata:
    data = storedata['data_01']
    metadata = storedata.get_storer('data_01').attrs.metadata
 
# display data
print('\nData:\n', data)
 
# display stored data
print('\nStored Data:\n', storedata)
 
# display Metadata
print('\nMetadata:\n', metadata)

输出: