如何在Python中使用 Pandas 将元数据添加到 DataFrame 或 Series?
元数据,也称为关于数据的数据。元数据可以为我们提供数据描述、摘要、内存中的存储以及特定数据的数据类型。我们将显示和创建元数据。
设想:
- 我们可以简单地使用info()命令来获取元数据
- 我们可以将元数据添加到现有数据中,并可以查看创建数据的元数据。
脚步:
- 创建数据框
- 查看已经存在的元数据
- 创建元数据并查看元数据。
在这里,我们将创建一个数据框,我们可以在创建的数据框上查看和创建元数据
查看现有的元数据方法:
- dataframe_name.info() – 它将以表格格式返回数据类型空值和内存使用情况
- dataframe_name.columns() – 它将返回一个数组,其中包含数据框中的所有列名
- dataframe_name.describe() - 它将给出给定数字数据框列的描述性统计数据,如均值、中值、标准差等。
创建元数据
我们可以使用dataframe.scale()和dataframe.offset()方法为特定数据框创建元数据。它们用于表示元数据。
句法:
dataframe_name.scale=value
dataframe_name.offset=value
下面是一些描述如何将元数据添加到 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)
输出: