数据有三类:结构化,半结构化和非结构化。每种类型的数据都有其自身的特征和用例,了解它们之间的差异对于有效的数据管理和分析至关重要。
结构化数据是组织且易于搜索的。它通常存储在关系数据库中,其格式用预定的列,数据类型和关系定义了。
示例包括来自企业资源计划(ERP)Systems ,客户关系管理(CRM)数据库和财务记录的数据。可以使用 sql 和其他数据库工具轻松查询和分析结构化数据。结构化数据的示例:
import sqlite3
# Connect to the database
conn = sqlite3.connect('example.db')
# Create a table with structured data
conn.execute('''CREATE TABLE employees
(id INT PRIMARY KEY NOT NULL,
name TEXT NOT NULL,
age INT NOT NULL);''')
# Insert data into the table
conn.execute("INSERT INTO employees (id, name, age) VALUES (1, 'John Doe', 25)")
conn.execute("INSERT INTO employees (id, name, age) VALUES (2, 'Jane Smith', 30)")
# Query the data from the table
cursor = conn.execute("SELECT * FROM employees")
for row in cursor:
print("ID = ", row[0])
print("Name = ", row[1])
print("Age = ", row[2])
# Close the database connection
conn.close()
一个结构化数据库表,具有用于ID,名称和年龄的预定列的列。我们将数据插入表中,并使用SQL进行查询。
半结构化数据属于结构化和非结构化数据之间的位置。它具有定义的结构,但不如结构化数据那么刚性。
半结构化数据通常包括提供其他上下文的元数据和标签。示例包括 XML 和 JSON 文件,这些文件通常用于在Web应用程序之间交换数据。
import json
# Define a JSON object with semi-structured data
employee = {
"id": 1,
"name": "John Doe",
"age": 25,
"department": {
"name": "Engineering",
"manager": "Jane Smith"
}
}
# Convert the JSON object to a string
employee_json = json.dumps(employee)
# Print the JSON string
print(employee_json)
# Convert the JSON string back to a Python object
employee_dict = json.loads(employee_json)
# Access the data in the Python object
print(employee_dict['id'])
print(employee_dict['name'])
print(employee_dict['age'])
print(employee_dict['department']['name'])
print(employee_dict['department']['manager'])
我们定义一个带有半结构化数据的JSON对象,其中包括一个嵌套部门对象。我们将对象转换为JSON字符串,然后返回到Python对象,使用字典键访问数据。
非结构化数据缺乏任何预定义的结构。这是使用最具挑战性的数据类型,因为它包括文本,图像和多媒体文件
示例包括电子邮件,社交媒体帖子,图像和视频。使用传统数据分析工具分析非结构化数据可能具有挑战性,但是自然语言处理NLP和机器学习算法的进步使得更容易从非结构化数据中获得见解。
import pytesseract
from PIL import Image
# Open an image file with unstructured data
image = Image.open('example.png')
# Use Tesseract OCR to extract text from the image
text = pytesseract.image_to_string(image)
# Print the extracted text
print(text)
我们打开一个带有非结构化数据的图像文件,并使用Tesseract OCR从图像中提取文本。提取的文本没有预定义的结构,并且在没有高级NLP技术的情况下进行分析。
每个数据类型都有其独特的特征和用途。程序员和组织可以通过了解每个数据类型的用户酶,成本和收益来更好地管理和分析其数据,从而导致更明智的决策和更好的业务成果。
Microsoft Certificate: Azure Data fundamentals是学习在Azure生态系统中与之合作的重要资源。看起来这门课程甚至是freely available for students。
我今天在整个过程中发生了一些事情,以添加上下文,以了解该行业如何思考the ongoing conversation around AI
中的数据和数据类型