如何用Pandas在Python中为DataFrame或系列添加元数据
元数据,也被称为关于数据的数据。元数据可以给我们提供数据描述、摘要、在内存中的存储以及该特定数据的数据类型。我们将显示和创建元数据。
Scenario:
- 我们可以通过使用info()命令简单地获得元数据
- 我们可以向现有的数据添加元数据,并可以查看创建的数据的元数据。
Steps:
- 创建一个数据框架
- 查看已经存在的元数据
- 创建元数据并查看元数据。
在这里,我们将创建一个数据框架,我们可以查看和创建创建的数据框架的元数据。
查看现有的元数据方法:
- dataframe_name.info() – 它将以表格的形式返回数据类型的空值和内存使用情况。
- dataframe_name.columns() – 它将返回一个数组,其中包括数据框架中的所有列名。
- dataframe_name.describe() – 它将给出给定数字数据框架列的描述性统计,如平均值、中位数、标准差等。
Create Metadata
我们可以使用dataframe.scale()和dataframe.offset()方法为特定的数据框创建元数据。它们是用来表示元数据的。
语法:
dataframe_name.scale=value
dataframe_name.offset=value
以下是一些例子,描述了如何将元数据添加到数据框架或系列中:
示例 1
最初创建并显示一个数据框架。
# 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
输出:
然后检查数据框架的属性和描述。
# data information
df.info()
# data columns description
df.columns
# describing columns
df.describe()
输出:
初始化数据框架的偏移量和比例。
# initializing scale and offset
# for creating meta data
df.scale = 0.1
df.offset = 15
# display scale and offset
print('Scale:', df.scale)
print('Offset:', df.offset)
输出:
我们正在以hdf5文件格式存储数据,然后我们将显示数据帧及其存储的元数据。
# 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中的系列数据结构不支持信息和所有方法。所以我们直接创建元数据并显示。
# 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
输出:
现在我们将存储元数据,然后显示它。
# 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)
输出: