使用数据模式模块识别数据框架中的模式
Pandas是一个建立在NumPy库之上的开源库。它是一个Python包,提供各种数据结构和操作,用于处理数字数据和时间序列。它主要因导入和分析数据更容易而流行。Pandas_是快速的,它对用户来说具有高性能和生产力。
数据框架是二维的大小可变的,可能是异质的表格数据结构,在Pandas中标有axis(行和列)。数据框架是一个二维的数据结构,即数据以表格的方式排列在行和列中。Pandas数据框架由三个主要部分组成,即数据、行和列。
数据模式模块,为了在数据框架中找到简单的数据模式,我们将使用python中的data-patterns模块,该模块用于生成和评估结构化数据集中的模式,并将其导出到Excel和JSON,并将生成的模式转化为Pandas代码。
安装:
pip install data-patterns
一步一步实现:
- 导入所需模块。
- 指派数据框架。
- 用数据框架作为构造函数参数创建模式混合器对象。
- 调用模式混合器对象的find()方法来识别数据框中的各种模式。
实现:
以下是基于上述方法的一些方案。
a
输出:
数据项value4和value5具有equal模式,支持9和1例外。
另外,在analyze()方法的帮助下,这些数据可以以适当的格式进行分析,下面是改进后的程序。
# importing the data_patterns module
import data_patterns
# importing the pandas module
import pandas as pd
# creating a pandas dataframe
df = pd.DataFrame(columns=['Name', 'Grade', 'value1',
'Value2', 'Value3', 'Value4', 'value5'],
data=[['Alpha', 'A', 1000, 800, 0, 200, 200],
['Beta', 'B', 4000, 0, 3200, 800, 800],
['Gamma', 'A', 800, 0, 700, 100, 100],
['Theta', 'B', 2500, 1800, 0, 700, 700],
['Ceta', 'C', 2100, 0, 2200, 200, 200],
['Saiyan', 'C', 9000, 8800, 0, 200, 200],
['SSai', 'A', 9000, 0, 8800, 200, 200],
['SSay', 'A', 9000, 8800, 0, 200, 200],
['Geeks', 'A', 9000, 0, 8800, 200, 200],
['SsBlue', 'B', 9000, 0, 8800, 200, 19]])
# setting datag=frame index
df.set_index('Name', inplace=True)
# creating a pattern mixer object
miner = data_patterns.PatternMiner(df)
# finding the pattern in the dataframe
# name is optional
# other patterns which can be used ‘>’, ‘<’, ‘<=’, ‘>=’, ‘!=’, ‘sum’
df_patterns = miner.find({'name': 'equal values',
'pattern': '=',
'parameters': {"min_confidence": 0.5,
"min_support": 2,
"decimal": 8}})
# getting the analyzed dataframe
df_results = miner.analyze(df)
# printing the analyzed results
print(df_results)
输出:
正如我们在这里看到的,在数据框架中存在的不同数据项之间确定了各种模式。