
DataProfiler เป็นไลบรารี Python ที่ออกแบบมาเพื่อทำการวิเคราะห์ข้อมูลการตรวจสอบและ การตรวจจับข้อมูลที่ละเอียดอ่อน ได้ง่าย
การโหลด ข้อมูล ด้วยคำสั่งเดียวไลบรารีจะจัดรูปแบบและโหลดไฟล์ลงใน DataFrame โดยอัตโนมัติ การทำโปรไฟล์ ข้อมูลห้องสมุดจะระบุสคีมาสถิติเอนทิตี (PII / NPI) และอื่น ๆ โปรไฟล์ข้อมูลสามารถใช้ในแอปพลิเคชันหรือรายงานดาวน์สตรีม
การเริ่มต้นใช้งานใช้รหัสเพียงไม่กี่บรรทัด (ตัวอย่าง CSV):
import json
from dataprofiler import Data , Profiler
data = Data ( "your_file.csv" ) # Auto-Detect & Load: CSV, AVRO, Parquet, JSON, Text, URL
print ( data . data . head ( 5 )) # Access data directly via a compatible Pandas DataFrame
profile = Profiler ( data ) # Calculate Statistics, Entity Recognition, etc
readable_report = profile . report ( report_options = { "output_format" : "compact" })
print ( json . dumps ( readable_report , indent = 4 ))หมายเหตุ: ตัวสร้างโปรไฟล์ข้อมูลมาพร้อมกับรูปแบบการเรียนรู้เชิงลึกที่ผ่านการฝึกอบรมมาก่อนใช้เพื่อระบุ ข้อมูลที่ละเอียดอ่อน (PII / NPI) อย่างมีประสิทธิภาพ หากต้องการมันเป็นเรื่องง่ายที่จะเพิ่มเอนทิตีใหม่ในรูปแบบที่ผ่านการฝึกอบรมมาก่อนหรือแทรกท่อส่งใหม่ทั้งหมดสำหรับการจดจำเอนทิตี
สำหรับเอกสาร API เยี่ยมชมหน้าเอกสาร
หากคุณมีข้อเสนอแนะหรือค้นหาข้อผิดพลาดโปรดเปิดปัญหา
หากคุณต้องการมีส่วนร่วมให้ไปที่หน้าการบริจาค
ในการติดตั้งแพ็คเกจเต็มรูปแบบจาก PYPI : pip install DataProfiler[full]
หากคุณต้องการติดตั้งการพึ่งพา ML โดยไม่ต้องสร้างรายงานใช้ DataProfiler[ml]
หากข้อกำหนด ML เข้มงวดเกินไป (พูดว่าคุณไม่ต้องการติดตั้ง TensorFlow) คุณสามารถติดตั้งแพ็คเกจที่บางกว่าด้วย DataProfiler[reports] แพ็คเกจ Slimmer ปิดใช้งานการตรวจจับข้อมูลที่ละเอียดอ่อนเริ่มต้น / การจดจำเอนทิตี (LABLER)
ติดตั้งจาก PYPI: pip install DataProfiler
ในกรณีของไลบรารีนี้โปรไฟล์ข้อมูลเป็นพจนานุกรมที่มีสถิติและการคาดการณ์เกี่ยวกับชุดข้อมูลพื้นฐาน มี "สถิติทั่วโลก" หรือ global_stats ซึ่งมีข้อมูลระดับชุดข้อมูลและมี "สถิติระดับคอลัมน์/แถว" หรือ data_stats (แต่ละคอลัมน์เป็นรายการคีย์-ค่าใหม่)
รูปแบบสำหรับโปรไฟล์ที่มีโครงสร้างอยู่ด้านล่าง:
"global_stats": {
"samples_used": int,
"column_count": int,
"row_count": int,
"row_has_null_ratio": float,
"row_is_null_ratio": float,
"unique_row_ratio": float,
"duplicate_row_count": int,
"file_type": string,
"encoding": string,
"correlation_matrix": list[list[int]], (*)
"chi2_matrix": list[list[float]],
"profile_schema": {
string: list[int]
},
"times": dict[string, float],
},
"data_stats": [
{
"column_name": string,
"data_type": string,
"data_label": string,
"categorical": bool,
"order": string,
"samples": list[str],
"statistics": {
"sample_size": int,
"null_count": int,
"null_types": list[string],
"null_types_index": {
string: list[int]
},
"data_type_representation": dict[string, float],
"min": [null, float, str],
"max": [null, float, str],
"mode": float,
"median": float,
"median_absolute_deviation": float,
"sum": float,
"mean": float,
"variance": float,
"stddev": float,
"skewness": float,
"kurtosis": float,
"num_zeros": int,
"num_negatives": int,
"histogram": {
"bin_counts": list[int],
"bin_edges": list[float],
},
"quantiles": {
int: float
},
"vocab": list[char],
"avg_predictions": dict[string, float],
"data_label_representation": dict[string, float],
"categories": list[str],
"unique_count": int,
"unique_ratio": float,
"categorical_count": dict[string, int],
"gini_impurity": float,
"unalikeability": float,
"precision": {
'min': int,
'max': int,
'mean': float,
'var': float,
'std': float,
'sample_size': int,
'margin_of_error': float,
'confidence_level': float
},
"times": dict[string, float],
"format": string
},
"null_replication_metrics": {
"class_prior": list[int],
"class_sum": list[list[int]],
"class_mean": list[list[int]]
}
}
]
(*) ปัจจุบันการอัปเดตเมทริกซ์สหสัมพันธ์ถูกสลับไป มันจะถูกรีเซ็ตในการอัปเดตในภายหลัง ผู้ใช้ยังสามารถใช้งานได้ตามที่ต้องการกับตัวเลือก IS_ENABLE ที่ตั้งค่าเป็น TRUE
รูปแบบสำหรับโปรไฟล์ที่ไม่มีโครงสร้างอยู่ด้านล่าง:
"global_stats": {
"samples_used": int,
"empty_line_count": int,
"file_type": string,
"encoding": string,
"memory_size": float, # in MB
"times": dict[string, float],
},
"data_stats": {
"data_label": {
"entity_counts": {
"word_level": dict[string, int],
"true_char_level": dict[string, int],
"postprocess_char_level": dict[string, int]
},
"entity_percentages": {
"word_level": dict[string, float],
"true_char_level": dict[string, float],
"postprocess_char_level": dict[string, float]
},
"times": dict[string, float]
},
"statistics": {
"vocab": list[char],
"vocab_count": dict[string, int],
"words": list[string],
"word_count": dict[string, int],
"times": dict[string, float]
}
}
รูปแบบสำหรับโปรไฟล์กราฟอยู่ด้านล่าง:
"num_nodes": int,
"num_edges": int,
"categorical_attributes": list[string],
"continuous_attributes": list[string],
"avg_node_degree": float,
"global_max_component_size": int,
"continuous_distribution": {
"<attribute_1>": {
"name": string,
"scale": float,
"properties": list[float, np.array]
},
"<attribute_2>": None,
...
},
"categorical_distribution": {
"<attribute_1>": None,
"<attribute_2>": {
"bin_counts": list[int],
"bin_edges": list[float]
},
...
},
"times": dict[string, float]
samples_used - จำนวนตัวอย่างข้อมูลอินพุตที่ใช้ในการสร้างโปรไฟล์นี้column_count - จำนวนคอลัมน์ที่มีอยู่ในชุดข้อมูลอินพุตrow_count - จำนวนแถวที่มีอยู่ในชุดข้อมูลอินพุตrow_has_null_ratio - สัดส่วนของแถวที่มีค่าว่างอย่างน้อยหนึ่งค่ากับจำนวนแถวทั้งหมดrow_is_null_ratio - สัดส่วนของแถวที่ประกอบด้วยค่า NULL อย่างเต็มที่ (แถวโมฆะ) กับจำนวนแถวทั้งหมดunique_row_ratio ซ้ำใครduplicate_row_count - จำนวนแถวที่เกิดขึ้นมากกว่าหนึ่งครั้งในชุดข้อมูลอินพุตfile_type - รูปแบบของไฟล์ที่มีชุดข้อมูลอินพุต (เช่น: .csv)encoding - การเข้ารหัสของไฟล์ที่มีชุดข้อมูลอินพุต (เช่น: UTF -8)correlation_matrix - เมทริกซ์ของรูปร่าง column_count x column_count ที่มีค่าสัมประสิทธิ์สหสัมพันธ์ระหว่างแต่ละคอลัมน์ในชุดข้อมูลchi2_matrix - เมทริกซ์ของรูปร่าง column_count x column_count ที่มีสถิติไคสแควร์ระหว่างแต่ละคอลัมน์ในชุดข้อมูลprofile_schema - คำอธิบายของรูปแบบของการติดฉลากชุดข้อมูลอินพุตแต่ละคอลัมน์และดัชนีในชุดข้อมูลstring - ป้ายกำกับของคอลัมน์ที่เป็นปัญหาและดัชนีในสคีมาโปรไฟล์times - ระยะเวลาที่ใช้ในการสร้างสถิติทั่วโลกสำหรับชุดข้อมูลนี้ในมิลลิวินาที column_name - ป้ายกำกับ/ชื่อของคอลัมน์นี้ในชุดข้อมูลอินพุตdata_type - ประเภทข้อมูล Pymitive Python ที่มีอยู่ในคอลัมน์นี้data_label - ป้ายกำกับ/เอนทิตีของข้อมูลในคอลัมน์นี้ตามที่กำหนดโดยส่วนประกอบของป้ายกำกับcategorical - 'จริง' ถ้าคอลัมน์นี้มีข้อมูลหมวดหมู่order - วิธีการสั่งซื้อข้อมูลในคอลัมน์นี้ถ้ามีมิฉะนั้น "สุ่ม"samples - รายการข้อมูลย่อยขนาดเล็กจากคอลัมน์นี้statistics - ข้อมูลทางสถิติในคอลัมน์sample_size - จำนวนตัวอย่างข้อมูลอินพุตที่ใช้ในการสร้างโปรไฟล์นี้null_count - จำนวนรายการ null ในตัวอย่างnull_types - รายการประเภท null ที่แตกต่างกันที่มีอยู่ภายในตัวอย่างนี้null_types_index - คำสั่งที่มีแต่ละประเภท null และรายการที่เกี่ยวข้องของตัวบ่งชี้ว่ามีอยู่ในตัวอย่างนี้data_type_representation - เปอร์เซ็นต์ของตัวอย่างที่ใช้การระบุเป็นแต่ละ data_typemin - ค่าต่ำสุดในตัวอย่างmax - ค่าสูงสุดในตัวอย่างmode - โหมดของรายการในตัวอย่างmedian - ค่ามัธยฐานของรายการในตัวอย่างmedian_absolute_deviation - ค่าเบี่ยงเบนค่ามัธยฐานของรายการในตัวอย่างsum - ทั้งหมดของค่าตัวอย่างทั้งหมดจากคอลัมน์mean - ค่าเฉลี่ยของรายการทั้งหมดในตัวอย่างvariance - ความแปรปรวนของรายการทั้งหมดในตัวอย่างstddev - ค่าเบี่ยงเบนมาตรฐานของรายการทั้งหมดในตัวอย่างskewness - ความเบ้ทางสถิติของรายการทั้งหมดในตัวอย่างkurtosis - Kurtosis ทางสถิติของรายการทั้งหมดในตัวอย่างnum_zeros - จำนวนรายการในตัวอย่างนี้ที่มีค่า 0num_negatives - จำนวนรายการในตัวอย่างนี้ที่มีค่าน้อยกว่า 0histogram - มีข้อมูลที่เกี่ยวข้องกับฮิสโตแกรมbin_counts - จำนวนรายการภายในแต่ละถังbin_edges - เกณฑ์ของแต่ละถังquantiles - ค่าของแต่ละเปอร์เซ็นไทล์ตามลำดับที่ระบุไว้ตามรายการในตัวอย่างvocab - รายการอักขระที่ใช้ภายในรายการในตัวอย่างนี้avg_predictions - ค่าเฉลี่ยของความมั่นใจในการทำนายฉลากข้อมูลในทุกจุดข้อมูลที่สุ่มตัวอย่างcategories - รายการของแต่ละหมวดหมู่ที่แตกต่างกันภายในตัวอย่างถ้า categorial = 'จริง'unique_count - จำนวนรายการที่แตกต่างกันในตัวอย่างunique_ratio - สัดส่วนของจำนวนรายการที่แตกต่างกันในตัวอย่างกับจำนวนรายการทั้งหมดในตัวอย่างcategorical_count - จำนวนรายการที่สุ่มตัวอย่างสำหรับแต่ละหมวดหมู่ถ้า categorical = 'true'gini_impurity - การวัดความถี่ที่องค์ประกอบที่เลือกแบบสุ่มจากชุดจะถูกระบุว่าไม่ถูกต้องหากมีการติดป้ายแบบสุ่มตามการกระจายของป้ายกำกับในชุดย่อยunalikeability - ค่าที่แสดงว่ารายการต่างกันแตกต่างกันบ่อยแค่ไหนภายในตัวอย่างprecision - คำสั่งของสถิติเกี่ยวกับจำนวนตัวเลขในตัวเลขสำหรับแต่ละตัวอย่างtimes - ระยะเวลาที่ใช้ในการสร้างสถิติของตัวอย่างนี้เป็นมิลลิวินาทีformat - รายการรูปแบบ dateTime ที่เป็นไปได้null_replication_metrics - สถิติของข้อมูลที่แบ่งพาร์ติชันขึ้นอยู่กับว่าค่าคอลัมน์เป็น null (ดัชนี 1 ของรายการที่อ้างอิงโดยคีย์ dict) หรือไม่ (ดัชนี 0)class_prior - รายการที่มีความน่าจะเป็นของค่าคอลัมน์เป็นโมฆะและไม่เป็นโมฆะclass_sum - รายการที่มีผลรวมของแถวอื่น ๆ ทั้งหมดขึ้นอยู่กับว่าค่าคอลัมน์เป็นโมฆะหรือไม่class_mean - รายการที่มีค่าเฉลี่ยของแถวอื่น ๆ ทั้งหมดขึ้นอยู่กับว่าค่าคอลัมน์เป็นโมฆะหรือไม่samples_used - จำนวนตัวอย่างข้อมูลอินพุตที่ใช้ในการสร้างโปรไฟล์นี้empty_line_count - จำนวนบรรทัดว่างในข้อมูลอินพุตfile_type - ประเภทไฟล์ของข้อมูลอินพุต (เช่น: .txt)encoding - การเข้ารหัสไฟล์ของไฟล์ข้อมูลอินพุต (เช่น: UTF -8)memory_size - ขนาดของข้อมูลอินพุตใน MBtimes - ระยะเวลาที่ใช้ในการสร้างโปรไฟล์นี้เป็นมิลลิวินาที data_label - ป้ายกำกับและสถิติบนฉลากของข้อมูลอินพุตentity_counts - จำนวนครั้งที่ฉลากหรือเอนทิตีเฉพาะปรากฏขึ้นภายในข้อมูลอินพุตword_level - จำนวนคำที่นับภายในแต่ละฉลากหรือเอนทิตีtrue_char_level - จำนวนอักขระที่นับภายในแต่ละฉลากหรือเอนทิตีตามที่กำหนดโดยโมเดลpostprocess_char_level - จำนวนอักขระที่นับภายในแต่ละฉลากหรือเอนทิตีตามที่กำหนดโดย postprocessorentity_percentages - เปอร์เซ็นต์ของแต่ละฉลากหรือเอนทิตีภายในข้อมูลอินพุตword_level - เปอร์เซ็นต์ของคำในข้อมูลอินพุตที่มีอยู่ในแต่ละป้ายหรือเอนทิตีtrue_char_level - เปอร์เซ็นต์ของอักขระในข้อมูลอินพุตที่มีอยู่ในแต่ละป้ายหรือเอนทิตีตามที่กำหนดโดยโมเดลpostprocess_char_level - เปอร์เซ็นต์ของอักขระในข้อมูลอินพุตที่มีอยู่ในแต่ละฉลากหรือเอนทิตีตามที่กำหนดโดย postprocessortimes - ระยะเวลาที่ใช้ในการทำนาย Data Labeler เพื่อทำนายข้อมูลstatistics - สถิติของข้อมูลอินพุตvocab - รายการของตัวละครแต่ละตัวในข้อมูลอินพุตvocab_count - จำนวนการเกิดขึ้นของอักขระที่แตกต่างกันในข้อมูลอินพุตwords - รายการของแต่ละคำในข้อมูลอินพุตword_count - จำนวนการเกิดขึ้นของแต่ละคำที่แตกต่างกันในข้อมูลอินพุตtimes - ระยะเวลาที่ใช้ในการสร้างสถิติคำศัพท์และคำในมิลลิวินาทีnum_nodes - จำนวนโหนดในกราฟnum_edges - จำนวนขอบในกราฟcategorical_attributes - รายการของคุณสมบัติขอบหมวดหมู่continuous_attributes - รายการคุณลักษณะขอบต่อเนื่องavg_node_degree - ระดับเฉลี่ยของโหนดในกราฟglobal_max_component_size : ขนาดของส่วนประกอบสูงสุดทั่วโลก <attribute_N> : ชื่อของแอตทริบิวต์ n-th edge ในรายการของแอตทริบิวต์name - ชื่อการแจกจ่ายสำหรับแอตทริบิวต์scale - โอกาสในการบันทึกเชิงลบที่ใช้ในการปรับขนาดและเปรียบเทียบการแจกแจงproperties - รายการคุณสมบัติทางสถิติที่อธิบายการแจกแจง <attribute_N> : ชื่อของแอตทริบิวต์ n-th edge ในรายการของแอตทริบิวต์
bin_counts : นับในแต่ละถังของฮิสโตแกรมการกระจายbin_edges : ขอบของแต่ละถังของฮิสโตแกรมการกระจายเวลา - ระยะเวลาที่ใช้ในการสร้างโปรไฟล์นี้เป็นมิลลิวินาที
ชนิดข้อมูล จะถูกกำหนดที่ระดับคอลัมน์สำหรับข้อมูลที่มีโครงสร้าง
ฉลากข้อมูล จะถูกกำหนดต่อเซลล์สำหรับข้อมูลที่มีโครงสร้าง (คอลัมน์/แถวเมื่อใช้ profiler ) หรือที่ระดับอักขระสำหรับข้อมูลที่ไม่มีโครงสร้าง
Data Profiler สามารถโปรไฟล์ประเภทข้อมูล/ไฟล์ต่อไปนี้:
Profiler ควรระบุประเภทไฟล์โดยอัตโนมัติและโหลดข้อมูลลงใน Data Class
นอกเหนือจาก attributtes อื่น ๆ Data class จะช่วยให้ข้อมูลสามารถเข้าถึงได้ผ่าน dataframe pandas ที่ถูกต้อง
# Load a csv file, return a CSVData object
csv_data = Data ( 'your_file.csv' )
# Print the first 10 rows of the csv file
print ( csv_data . data . head ( 10 ))
# Load a parquet file, return a ParquetData object
parquet_data = Data ( 'your_file.parquet' )
# Sort the data by the name column
parquet_data . data . sort_values ( by = 'name' , inplace = True )
# Print the sorted first 10 rows of the parquet data
print ( parquet_data . data . head ( 10 ))
# Load a json file from a URL, return a JSONData object
json_data = Data ( 'https://github.com/capitalone/DataProfiler/blob/main/dataprofiler/tests/data/json/iris-utf-8.json' )หากประเภทไฟล์ไม่ได้ระบุโดยอัตโนมัติ (หายาก) คุณสามารถระบุได้โดยเฉพาะให้ดูที่ส่วนการระบุไฟล์หรือคั่น
ตัวอย่างใช้ไฟล์ CSV เช่น CSV, JSON, AVRO, PARQUET หรือ TEXT ก็ใช้งานได้เช่นกัน
import json
from dataprofiler import Data , Profiler
# Load file (CSV should be automatically identified)
data = Data ( "your_file.csv" )
# Profile the dataset
profile = Profiler ( data )
# Generate a report and use json to prettify.
report = profile . report ( report_options = { "output_format" : "pretty" })
# Print the report
print ( json . dumps ( report , indent = 4 ))ขณะนี้ Data Profiler พร้อมที่จะอัปเดตโปรไฟล์ในแบทช์
import json
from dataprofiler import Data , Profiler
# Load and profile a CSV file
data = Data ( "your_file.csv" )
profile = Profiler ( data )
# Update the profile with new data:
new_data = Data ( "new_data.csv" )
profile . update_profile ( new_data )
# Print the report using json to prettify.
report = profile . report ( report_options = { "output_format" : "pretty" })
print ( json . dumps ( report , indent = 4 ))โปรดทราบว่าหากข้อมูลที่คุณอัปเดตโปรไฟล์ด้วยดัชนีจำนวนเต็มที่ทับซ้อนกับดัชนีข้อมูลบนข้อมูล แต่เมื่อคำนวณแถวโมฆะดัชนีจะถูก "เลื่อน" เป็นค่าที่ไม่มีผู้อยู่อาศัยเพื่อให้จำนวนโมฆะและอัตราส่วนยังคงถูกต้อง
หากคุณมีไฟล์สองไฟล์ที่มีสคีมาเดียวกัน (แต่ข้อมูลที่แตกต่างกัน) เป็นไปได้ที่จะรวมโปรไฟล์ทั้งสองเข้าด้วยกันผ่านตัวดำเนินการเพิ่มเติม
นอกจากนี้ยังช่วยให้สามารถกำหนดโปรไฟล์ได้ในลักษณะกระจาย
import json
from dataprofiler import Data , Profiler
# Load a CSV file with a schema
data1 = Data ( "file_a.csv" )
profile1 = Profiler ( data1 )
# Load another CSV file with the same schema
data2 = Data ( "file_b.csv" )
profile2 = Profiler ( data2 )
profile3 = profile1 + profile2
# Print the report using json to prettify.
report = profile3 . report ( report_options = { "output_format" : "pretty" })
print ( json . dumps ( report , indent = 4 ))โปรดทราบว่าหากโปรไฟล์ที่ผสานมีดัชนีจำนวนเต็มที่ทับซ้อนกันเมื่อคำนวณแถวโมฆะดัชนีจะ "เปลี่ยน" เป็นค่าที่ไม่มีคนอาศัยอยู่
สำหรับการค้นหาการเปลี่ยนแปลงระหว่างโปรไฟล์ที่มีสคีมาเดียวกันเราสามารถใช้ฟังก์ชั่น diff ของโปรไฟล์ได้ diff จะให้ความแตกต่างของไฟล์และการสุ่มตัวอย่างโดยรวมรวมถึงความแตกต่างอย่างละเอียดของสถิติของข้อมูล ตัวอย่างเช่นคอลัมน์ตัวเลขมีทั้งการทดสอบ t เพื่อประเมินความคล้ายคลึงกันและ PSI (ดัชนีความมั่นคงของประชากร) เพื่อหาปริมาณการกระจายการกระจายคอลัมน์ ข้อมูลเพิ่มเติมอธิบายไว้ในส่วน Profiler ของหน้า GitHub
สร้างรายงานความแตกต่างเช่นนี้:
import json
import dataprofiler as dp
# Load a CSV file
data1 = dp . Data ( "file_a.csv" )
profile1 = dp . Profiler ( data1 )
# Load another CSV file
data2 = dp . Data ( "file_b.csv" )
profile2 = dp . Profiler ( data2 )
diff_report = profile1 . diff ( profile2 )
print ( json . dumps ( diff_report , indent = 4 )) import pandas as pd
import dataprofiler as dp
import json
my_dataframe = pd . DataFrame ([[ 1 , 2.0 ],[ 1 , 2.2 ],[ - 1 , 3 ]])
profile = dp . Profiler ( my_dataframe )
# print the report using json to prettify.
report = profile . report ( report_options = { "output_format" : "pretty" })
print ( json . dumps ( report , indent = 4 ))
# read a specified column, in this case it is labeled 0:
print ( json . dumps ( report [ "data_stats" ][ 0 ], indent = 4 )) นอกเหนือจากโปรไฟล์ที่มีโครงสร้างแล้ว DataProfiler ยังให้การทำโปรไฟล์ที่ไม่มีโครงสร้างสำหรับวัตถุหรือสตริง textData โปรไฟล์ที่ไม่มีโครงสร้างยังทำงานร่วมกับรายการ [สตริง], pd.series (สตริง) หรือ pd.dataframe (สตริง) ที่กำหนดตัวเลือก profiler_type ที่ระบุว่า unstructured ด้านล่างเป็นตัวอย่างของโปรไฟล์ที่ไม่มีโครงสร้างพร้อมไฟล์ข้อความ
import dataprofiler as dp
import json
my_text = dp . Data ( 'text_file.txt' )
profile = dp . Profiler ( my_text )
# print the report using json to prettify.
report = profile . report ( report_options = { "output_format" : "pretty" })
print ( json . dumps ( report , indent = 4 )) อีกตัวอย่างหนึ่งของตัวสร้างโปรไฟล์ที่ไม่มีโครงสร้างกับ Pd.series of Strings ได้รับดังด้านล่างพร้อมตัวเลือก Profiler profiler_type='unstructured'
import dataprofiler as dp
import pandas as pd
import json
text_data = pd . Series ([ 'first string' , 'second string' ])
profile = dp . Profiler ( text_data , profiler_type = 'unstructured' )
# print the report using json to prettify.
report = profile . report ( report_options = { "output_format" : "pretty" })
print ( json . dumps ( report , indent = 4 ))DataProfiler ยังให้ความสามารถในการโปรไฟล์ข้อมูลกราฟจากไฟล์ CSV ด้านล่างเป็นตัวอย่างของกราฟโปรไฟล์ที่มีไฟล์กราฟข้อมูล CSV:
import dataprofiler as dp
import pprint
my_graph = dp . Data ( 'graph_file.csv' )
profile = dp . Profiler ( my_graph )
# print the report using pretty print (json dump does not work on numpy array values inside dict)
report = profile . report ()
printer = pprint . PrettyPrinter ( sort_dicts = False , compact = True )
printer . pprint ( report )เยี่ยมชมหน้าเอกสารสำหรับตัวอย่างเพิ่มเติมและรายละเอียด API
Sensitive Data Detection with High-Throughput Neural Network Models for Financial Institutions
Authors: Anh Truong, Austin Walters, Jeremy Goodsitt
2020 https://arxiv.org/abs/2012.09597
The AAAI-21 Workshop on Knowledge Discovery from Unstructured Data in Financial Services