訓練數據清洗(文本/音頻/視頻)

多數據格式的清洗方法

以下是針對多數據格式清洗方法的系統性總結,結合Python代碼示例:

一、數據清洗方法總覽(表格對比)

數據類型核心挑戰關鍵步驟常用Python工具
文本非結構化噪聲去噪→分詞→標準化→向量化NLTK, SpaCy, Jieba, Regex
圖片維度/質量差異尺寸統一→去噪→格式轉換→歸一化OpenCV, PIL, scikit-image
音頻采樣/環境噪聲差異降噪→重采樣→分割→特征提取Librosa, pydub, noisereduce
視頻時空維度復雜性關鍵幀提取→分辨率統一→時序處理OpenCV, MoviePy, FFmpeg

二、文本數據清洗

1. 去噪處理
import re
from bs4 import BeautifulSoup# 去除HTML標簽
def clean_html(text):return BeautifulSoup(text, 'html.parser').get_text()# 刪除特殊字符
text = re.sub(r'[^a-zA-Z0-9\u4e00-\u9fa5]', ' ', "Hello! 這是一條帶@符號的示例#文本")
2. 分詞與標準化
import jieba
from nltk.tokenize import word_tokenize# 中文分詞
text_cn = "自然語言處理很重要"
seg_list = jieba.lcut(text_cn)  # ['自然語言', '處理', '很', '重要']# 英文分詞
text_en = "This is an example sentence."
tokens = word_tokenize(text_en.lower())  # ['this', 'is', 'an', 'example', 'sentence']
3. 停用詞過濾
from nltk.corpus import stopwordsstop_words = set(stopwords.words('english'))
filtered_tokens = [word for word in tokens if word not in stop_words]  # 過濾后:['example', 'sentence']

三、圖片數據清洗

1. 尺寸統一化
import cv2img = cv2.imread('input.jpg')
resized_img = cv2.resize(img, (224, 224))  # 調整為指定尺寸
2. 去噪增強
# 高斯模糊去噪
blurred = cv2.GaussianBlur(img, (5,5), 0)# 直方圖均衡化(灰度圖)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
equalized = cv2.equalizeHist(gray)
3. 格式轉換與歸一化
from PIL import Image# 轉換格式并保存
img_pil = Image.open('input.bmp')
img_pil.save('output.jpg', quality=95)# 歸一化處理
import numpy as np
normalized = img.astype(np.float32) / 255.0  # [0,1]范圍

四、音頻數據清洗

1. 降噪處理
import noisereduce as nr
import librosay, sr = librosa.load('noisy_audio.wav')
# 提取噪聲片段(需提前標記噪聲區間)
noisy_part = y[5000:15000]  
cleaned = nr.reduce_noise(y=y, sr=sr, y_noise=noisy_part)
2. 采樣率統一
# 從44.1kHz重采樣到16kHz
y_16k = librosa.resample(y, orig_sr=44100, target_sr=16000)
3. 靜音分割
from pydub import AudioSegment
from pydub.silence import split_on_silenceaudio = AudioSegment.from_wav("long_audio.wav")
# 分割靜音段(閾值-50dB,最小靜音時長1s)
chunks = split_on_silence(audio, silence_thresh=-50, min_silence_len=1000)

五、視頻數據清洗

1. 關鍵幀提取
cap = cv2.VideoCapture('input.mp4')
frame_count = 0
while True:ret, frame = cap.read()if not ret: breakif frame_count % 30 == 0:  # 每30幀保存1幀cv2.imwrite(f"frame_{frame_count}.jpg", frame)frame_count += 1
2. 分辨率調整
from moviepy.editor import VideoFileClipclip = VideoFileClip("input.mp4")
# 調整為720p并保持寬高比
clip_resized = clip.resize(height=720)  
clip_resized.write_videofile("output_720p.mp4")
3. 時間軸處理
# 截取10-20秒片段
sub_clip = clip.subclip(10, 20)# 倍速處理(1.5倍速)
speed_clip = clip.fx(vfx.speedx, 1.5)

六、通用最佳實踐

  1. 批處理模板
# 圖片批處理示例
import os
from tqdm import tqdminput_dir = 'raw_images/'
output_dir = 'processed_images/'
os.makedirs(output_dir, exist_ok=True)for filename in tqdm(os.listdir(input_dir)):img = cv2.imread(os.path.join(input_dir, filename))processed = cv2.resize(cv2.GaussianBlur(img, (3,3), 0), (256,256))cv2.imwrite(os.path.join(output_dir, filename), processed)
  1. 質量校驗
# 音頻時長校驗
import soundfile as sfdef validate_audio(path, min_duration=1.0):try:duration = len(sf.read(path)[0]) / sf.read(path)[1]return duration >= min_durationexcept:return False
  1. 分布式清洗(Dask示例)
import dask.dataframe as dd# 并行處理文本數據
ddf = dd.read_csv('large_text_data/*.csv')
ddf_clean = ddf.map_partitions(lambda df: df.apply(clean_text_function))
ddf_clean.to_csv('cleaned_data/')

通過結合領域特定的清洗方法和Python生態工具,可以構建高效的數據預處理流水線。建議根據實際數據特點調整參數閾值,并建立自動化質量監控機制。

不同業務場景下的清洗策略

以下是針對不同業務場景下的數據清洗策略系統性總結,結合Python實現示例:

一、數據清洗策略總覽(表格對比)

業務領域核心挑戰典型清洗操作常用Python工具
金融數據可靠性/合規性異常值檢測、時序對齊、缺失值填充Pandas, Scikit-learn, PyOD
醫療隱私保護/數據標準化數據脫敏、單位統一、格式驗證Faker, OpenPyXL, PyUnits
電商數據一致性/商品歸一化重復數據刪除、分類標準化Dedupe, FuzzyWuzzy, Scikit-learn
社交媒體非結構化數據處理文本清洗、行為序列過濾NLTK, SpaCy, Pandas

二、金融領域清洗策略

1. 異常值檢測
  • 場景:檢測信用卡欺詐交易
  • 方法
    # IQR方法檢測交易金額異常
    Q1 = df['amount'].quantile(0.25)
    Q3 = df['amount'].quantile(0.75)
    IQR = Q3 - Q1
    df_clean = df[~((df['amount'] < (Q1 - 1.5*IQR)) | (df['amount'] > (Q3 + 1.5*IQR)))]# Z-score檢測
    from scipy import stats
    df['z_score'] = stats.zscore(df['amount'])
    df_clean = df[df['z_score'].abs() < 3]
    
2. 缺失值填充
  • 場景:股票價格數據補全
  • 方法
    # 時間序列前向填充
    df.fillna(method='ffill', inplace=True)# 使用隨機森林預測缺失值
    from sklearn.ensemble import RandomForestRegressor
    X = df.dropna().drop('target', axis=1)
    y = df.dropna()['target']
    model = RandomForestRegressor().fit(X, y)
    missing_data = df[df['target'].isnull()].drop('target', axis=1)
    df.loc[df['target'].isnull(), 'target'] = model.predict(missing_data)
    

三、醫療領域清洗策略

1. 數據脫敏
  • 場景:患者隱私保護
  • 方法
    # 使用假名生成庫
    from faker import Faker
    fake = Faker()
    df['patient_name'] = [fake.name() for _ in range(len(df))]# 日期偏移脫敏
    df['birth_date'] = pd.to_datetime(df['birth_date']) + pd.DateOffset(years=10)
    
2. 單位統一
  • 場景:多源醫療設備數據整合
  • 方法
    # 體重單位標準化(磅轉千克)
    def convert_weight(row):if row['unit'] == 'lbs':return row['value'] * 0.453592else:return row['value']
    df['weight_kg'] = df.apply(convert_weight, axis=1)# 使用Pint進行單位轉換
    import pint
    ureg = pint.UnitRegistry()
    df['volume'] = df['value'].apply(lambda x: (x * ureg.parse_expression(df['unit'])).to(ureg.milliliter))
    

四、電商領域清洗策略

1. 重復數據去重
  • 場景:商品列表清洗
  • 方法
    # 基于規則去重
    df.drop_duplicates(subset=['product_id', 'price'], keep='last', inplace=True)# 使用模糊匹配處理標題相似項
    from fuzzywuzzy import fuzz
    def is_similar(str1, str2, threshold=90):return fuzz.token_set_ratio(str1, str2) > threshold
    
2. 分類標準化
  • 場景:多平臺商品類目映射
  • 方法
    # 創建類目映射字典
    category_map = {'cellphone': 'Mobile Devices','smartphone': 'Mobile Devices','laptop': 'Computers'
    }
    df['category'] = df['raw_category'].map(category_map).fillna('Others')# 使用聚類自動分類
    from sklearn.cluster import KMeans
    kmeans = KMeans(n_clusters=10).fit(tfidf_vectors)
    df['auto_category'] = kmeans.labels_
    

五、社交媒體清洗策略

1. 文本規范化
  • 場景:情感分析預處理
  • 方法
    # 情感符號處理
    import re
    def clean_emoji(text):emoji_pattern = re.compile("["u"\U0001F600-\U0001F64F"  # emoticonsu"\U0001F300-\U0001F5FF"  # symbols & pictographs"]+", flags=re.UNICODE)return emoji_pattern.sub(r'', text)# 詞形還原
    from nltk.stem import WordNetLemmatizer
    lemmatizer = WordNetLemmatizer()
    df['text'] = df['text'].apply(lambda x: ' '.join([lemmatizer.lemmatize(word) for word in x.split()]))
    
2. 用戶行為過濾
  • 場景:僵尸賬號檢測
  • 方法
    # 時間窗口內異常操作檢測
    df['action_time'] = pd.to_datetime(df['timestamp'])
    df = df.set_index('action_time')
    actions_per_min = df.resample('1T').size()
    anomaly_users = actions_per_min[actions_per_min > 100].index# 基于規則過濾
    spam_keywords = ['free', 'win', 'click']
    df = df[~df['content'].str.contains('|'.join(spam_keywords), case=False)]
    

六、最佳實踐建議

  1. 業務適配原則

    • 金融領域優先保證數據完整性
    • 醫療領域強制實施隱私保護
    • 電商領域側重商品特征一致性
    • 社交媒體關注上下文關聯性
  2. 工具鏈推薦

    # 通用數據操作
    import pandas as pd  
    import numpy as np# 高級清洗工具
    from sklearn.impute import IterativeImputer  # 多重插補
    import great_expectations as ge  # 數據質量驗證# 可視化監控
    import matplotlib.pyplot as plt
    df.hist(column='transaction_amount', bins=50)  # 分布可視化
    
  3. 流程標準化

    # 構建清洗Pipeline示例
    from sklearn.pipeline import Pipeline
    from sklearn.compose import ColumnTransformerpreprocessor = ColumnTransformer(transformers=[('num', StandardScaler(), numerical_features),('text', TfidfVectorizer(), text_column)])pipeline = Pipeline(steps=[('clean', DataCleaner()),  # 自定義清洗類('preprocess', preprocessor)
    ])
    

通過針對不同業務場景的特征設計清洗策略,配合Python生態豐富的工具庫,可以顯著提升數據質量。建議根據實際業務需求動態調整清洗閾值和規則,并建立持續的質量監控機制。

文本專項

數據清洗是數據預處理中的重要步驟,旨在提高數據質量,確保后續分析或建模的準確性。針對訓練數據集的數據清洗方案通常包括以下幾個方面:

缺失值處理

缺失值是數據集中常見的問題,需要根據具體情況選擇合適的處理方法:

  • 刪除法:如果缺失值比例較高(如超過50%),可以直接刪除該特征或樣本。
# 刪除缺失率超過50%的特征
threshold = len(df) * 0.5
df_cleaned = df.dropna(thresh=threshold, axis=1)# 刪除有缺失值的行
df_dropped = df.dropna()
  • 填充法
    • 使用統計值填充:均值、中位數、眾數等。
    • 使用插值法:線性插值或其他插值方法。
    • 使用模型預測:通過其他特征訓練一個簡單的回歸/分類模型來預測缺失值。
# 均值填充
df_filled = df.fillna(df.mean())# 使用KNN插值(需安裝scikit-learn)
imputer = KNNImputer(n_neighbors=5)
df_knn = pd.DataFrame(imputer.fit_transform(df), columns=df.columns)# 時間序列線性插值
df['timestamp'] = pd.to_datetime(df['timestamp'])
df = df.set_index('timestamp')
df_interpolated = df.interpolate(method='time')
  • 標記法:將缺失值作為一個單獨的類別或特殊值進行標記。
# 創建缺失指示特征
for col in df.columns:df[f'{col}_missing'] = df[col].isnull().astype(int)

異常值處理

異常值可能由數據錄入錯誤或實際極端值引起,需謹慎處理:

  • 識別異常值
    • 基于統計學方法:如3σ原則(正態分布)、箱線圖(IQR)。
# 3σ原則def sigma_rule(df, col, n_sigmas=3):mean = df[col].mean()std = df[col].std()return df[(df[col] > mean - n_sigmas*std) & (df[col] < mean + n_sigmas*std)]df_clean = sigma_rule(df, 'income')
# 箱線圖Q1 = df['age'].quantile(0.25)
Q3 = df['age'].quantile(0.75)
IQR = Q3 - Q1
df = df[~((df['age'] < (Q1 - 1.5*IQR)) | (df['age'] > (Q3 + 1.5*IQR)))]
  • 基于可視化:散點圖、直方圖等。
  • 基于機器學習:使用孤立森林(Isolation Forest)、DBSCAN等算法檢測異常值。
# 使用孤立森林檢測異常
iso = IsolationForest(contamination=0.05)
outliers = iso.fit_predict(df[['feature1', 'feature2']])
df_clean = df[outliers == 1]
  • 處理方式
    • 刪除異常值。
    • 替換為合理值(如均值、中位數)。
    • 根據業務邏輯調整異常值。

重復數據處理

重復數據可能會導致模型過擬合或偏差:

  • 檢查并刪除完全重復的樣本。
  • 對部分字段重復的數據進行合并或去重。
# 完全重復記錄刪除
df_deduplicated = df.drop_duplicates()# 關鍵字段重復處理
df = df.sort_values('update_time').drop_duplicates(['user_id'], keep='last')

數據格式統一化

數據格式不一致可能導致分析錯誤:

  • 日期格式:統一日期格式(如YYYY-MM-DD)。
  • 數值格式:確保數值類型正確(如浮點數、整數)。
  • 文本格式:統一大小寫、去除多余空格、標準化編碼(如UTF-8)。
# 統一日期格式
df['date'] = pd.to_datetime(df['date'], errors='coerce', format='%Y-%m-%d')# 提取時間特征
df['year'] = df['date'].dt.year
df['day_of_week'] = df['date'].dt.dayofweek
# 標準化文本
def clean_text(text):text = re.sub(r'\s+', ' ', text)          # 去除多余空格text = re.sub(r'[^\w\s]', '', text)       # 移除標點return text.strip().lower()df['text'] = df['text'].apply(clean_text)

特征標準化與歸一化

某些算法對特征的量綱敏感,需進行標準化或歸一化:

  • 標準化:將數據轉換為均值為0、標準差為1的分布(Z-score標準化)。
  • 歸一化:將數據縮放到固定范圍(如[0, 1]或[-1, 1])。
  • Log變換:對偏態分布的數據進行對數變換以減小偏度。
# Z-score標準化
scaler = StandardScaler()
df[['income', 'age']] = scaler.fit_transform(df[['income', 'age']])# Min-Max歸一化
minmax = MinMaxScaler(feature_range=(0, 1))
df[['height', 'weight']] = minmax.fit_transform(df[['height', 'weight']])# 對數變換
df['income_log'] = np.log1p(df['income'])

類別不平衡處理

對于分類問題,類別不平衡會影響模型性能:

  • 欠采樣:減少多數類樣本數量。
  • 過采樣:增加少數類樣本數量(如SMOTE算法)。
  • 調整權重:在模型訓練時為不同類別設置不同的權重。
# SMOTE過采樣(需安裝imbalanced-learn)
from imblearn.over_sampling import SMOTEX_resampled, y_resampled = SMOTE().fit_resample(X, y)# 類別權重調整
from sklearn.utils.class_weight import compute_class_weight
class_weights = compute_class_weight('balanced', classes=np.unique(y), y=y)

文本數據清洗

如果數據集中包含文本數據,需要進行以下處理:

  • 去除噪聲:刪除HTML標簽、特殊字符、停用詞等。
  • 分詞與詞干提取:對文本進行分詞,并提取詞干或詞形還原。
  • 拼寫糾正:修正拼寫錯誤。
  • 向量化:將文本轉換為數值形式(如TF-IDF、詞嵌入)。
from nltk.corpus import stopwords
from sklearn.feature_extraction.text import TfidfVectorizer# 高級文本清洗
def advanced_text_clean(text):# 拼寫糾正(需安裝pyspellchecker)from spellchecker import SpellCheckerspell = SpellChecker()words = [spell.correction(word) for word in text.split()]# 詞形還原from nltk.stem import WordNetLemmatizerlemmatizer = WordNetLemmatizer()return ' '.join([lemmatizer.lemmatize(word) for word in words if word not in stop_words])# TF-IDF向量化
tfidf = TfidfVectorizer(max_features=500)
X_tfidf = tfidf.fit_transform(df['text'])

特征工程與降維

  • 特征選擇:移除無關或冗余特征。
  • 特征構造:基于現有特征生成新的有意義特征。
  • 降維:使用PCA、t-SNE等方法降低特征維度。
# PCA降維(保留95%方差)
pca = PCA(n_components=0.95)
X_pca = pca.fit_transform(X_scaled)# 多項式特征生成
from sklearn.preprocessing import PolynomialFeatures
poly = PolynomialFeatures(degree=2, interaction_only=True)
X_poly = poly.fit_transform(X[['age', 'income']])

時間序列數據清洗

對于時間序列數據,還需額外關注以下問題:

  • 時間戳對齊:確保時間戳的頻率一致(如按小時、天對齊)。
  • 插值處理:填補時間序列中的缺失值。
  • 趨勢與周期性分解:分離出長期趨勢和周期性波動。
# 重采樣對齊
df_resampled = df.resample('1H').mean()# 季節性分解
from statsmodels.tsa.seasonal import seasonal_decompose
result = seasonal_decompose(df['value'], model='additive', period=24)

數據一致性檢查

  • 確保數據之間的邏輯關系一致。例如:
    • 如果某個字段表示“出生年份”,則它應小于當前年份。
    • 如果某個字段表示“性別”,則其取值應在預定義范圍內(如“男”、“女”)。
# 邏輯驗證
current_year = datetime.now().year
df = df[df['birth_year'] < current_year]  # 過濾不合理出生年份# 范圍驗證
valid_genders = ['Male', 'Female']
df = df[df['gender'].isin(valid_genders)]

隱私與安全處理

  • 脫敏處理:對敏感信息(如身份證號、電話號碼)進行脫敏。
  • 數據加密:對敏感字段進行加密存儲。
# 數據脫敏
def anonymize_phone(phone):return re.sub(r'(\d{3})\d{4}(\d{4})', r'\1****\2', phone)# 加密處理
import hashlib
df['user_id_hash'] = df['user_id'].apply(lambda x: hashlib.sha256(x.encode()).hexdigest())

總結

數據清洗的具體方案需要結合數據集的特點和業務需求進行定制化設計。建議遵循以下步驟:

  1. 探索性數據分析(EDA):全面了解數據的分布、缺失情況、異常值等。
  2. 明確目標:根據建模目標確定清洗的重點方向。
  3. 逐步實施:按照上述方案逐一處理問題,同時記錄清洗過程以便復現。
  4. 驗證效果:清洗后重新檢查數據質量,確保清洗結果符合預期。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/75244.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/75244.shtml
英文地址,請注明出處:http://en.pswp.cn/web/75244.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python標準庫json完全指南:高效處理JSON數據

一、json庫概述 JSON(JavaScript Object Notation)是一種輕量級的數據交換格式&#xff0c;Python的json模塊提供了JSON數據的編碼和解碼功能。該模塊可以將Python對象轉換為JSON字符串&#xff08;序列化&#xff09;&#xff0c;也可以將JSON字符串轉換為Python對象&#xf…

微軟推出首款量子計算芯片Majorana 1

全球首款拓撲架構量子芯片問世&#xff0c;2025年2月20日&#xff0c;經過近20年研究&#xff0c;微軟推出了首款量子計算芯片Majorana 1&#xff0c;其宣傳視頻如本文末尾所示。 微軟表示&#xff0c;開發Majorana 1需要創造一種全新的物質狀態&#xff0c;即所謂的“拓撲體”…

【QT】QT中的文件IO

QT中的文件IO 一、有關文件IO的類二、步驟1、定義QFile的對象,與要讀寫的文件綁定在一起2、打開文件3、讀寫文件1&#xff09;讀取文件2&#xff09;寫入文件 4、關閉文件5、示例代碼&#xff1a; 三、QString和QByteArray之間的轉換1、方法2、示例代碼&#xff1a; 四、QFileI…

Nginx 499 錯誤的原因及解決方法

Nginx 499 錯誤的原因及解決方法 原因 客戶端超時&#xff1a; 客戶端在等待服務器響應時超時&#xff0c;導致連接被關閉。 解決方法&#xff1a;優化服務端響應時間&#xff0c;或調大客戶端的連接超時時間。 服務端響應過慢&#xff1a; 后端服務處理請求時間過長。 解決方法…

Smith-Waterman 算法(C++實現)

本文實現Smith-Waterman 算法案例&#xff0c;用于局部序列比對。該算法是生物信息學中用于尋找兩個 DNA、RNA 或蛋白質序列之間最優局部比對的經典算法&#xff0c;廣泛應用于序列相似性分析和功能預測。 問題描述 給定兩個生物序列 seq1 和 seq2&#xff0c;如何找到它們的最…

安卓玩機工具-----安卓機型通用 無損備份與恢復數據的工具BackupToolkit 操作過程

常規安卓機型數據備份與恢復的方法及工具 安卓設備的數據備份與恢復是保護個人數據的重要手段之一。以下是幾種常用的方法和工具&#xff1a; 方法一&#xff1a;利用內置的云服務進行備份 許多安卓設備提供了內置的云服務&#xff0c;例如華為手機可以通過“華為云空間”來…

oracle 動態性能視圖

Oracle 數據庫中的 V$SQLAREA 是一個動態性能視圖&#xff08;Dynamic Performance View&#xff09;&#xff0c;用于記錄共享池&#xff08;Shared Pool&#xff09;中所有 SQL 語句的統計信息。每個 SQL 語句在共享池中存儲為一個游標&#xff08;Cursor&#xff09;&#x…

OceanBase V4.3.5 上線全文索引功能,讓數據檢索更高效

近日&#xff0c;OceanBase 4.3.5 BP1 版本正式推出了企業級全文索引功能。該版本在中文分詞、查詢效率及混合檢索能力上進行了全面提升。經過自然語言模式和布爾模式在不同場景下的對比測試&#xff0c;OceanBase 的全文索引性能明顯優于 MySQL。 點擊下載 OceanBase 社區版…

海康攝像頭AI報警、移動偵測報警等通過Ehome/ISUP協議上報到LiveNVR流媒體平臺時如何進行報警配置

海康攝像頭AI報警、移動偵測報警等通過Ehome/ISUP協議上報到LiveNVR流媒體平臺時如何進行報警配置 1、LiveNVR介紹2、如何配置海康攝像頭、錄像機通過Ehome/ISUP注冊到LiveNVR設備 EHOME 接入配置示例設備 ISUP 接入配置示例直播流接入類型 海康ISUP海康 ISUP 設備ID啟用保存 3…

golang gmp模型分析

思維導圖&#xff1a; 1. 發展過程 思維導圖&#xff1a; 在單機時代是沒有多線程、多進程、協程這些概念的。早期的操作系統都是順序執行 單進程的缺點有&#xff1a; 單一執行流程、計算機只能一個任務一個任務進行處理進程阻塞所帶來的CPU時間的浪費 處于對CPU資源的利用&…

Redis基礎指令(Windows)

1.cmd命令行啟動redis 直接cmd打開整個文件 1.1.啟動server 輸入指令&#xff1a; redis-server.exe redis.windows.conf 會進入serve端 1.2.啟動客戶端 &#xff01;&#xff01;重新打開一個cmd&#xff0c;方法和上面一樣&#xff01;&#xff01; 之后輸入 redis-…

vue:前端預覽 / chrome瀏覽器設置 / <iframe> 方法預覽 doc、pdf / vue-pdf 預覽pdf

一、本文目標 <iframe> 方法預覽 pdf 、word vue-pdf 預覽pdf 二、<iframe> 方法 2.1、iframe 方法預覽需要 瀏覽器 設置為&#xff1a; chrome&#xff1a;設置-隱私設置和安全性-網站設置-更多內容設置-PDF文檔 瀏覽器訪問&#xff1a; chrome://settings/co…

【C++游戲引擎開發】第11篇:GLFW、GLAD環境搭建與第一個三角形渲染

一、GLFW、GLAD安裝 1.1 vcpkg安裝相關庫 跨平臺C++包管理利器vcpkg完全指南 # 安裝GLFW vcpkg install glfw3# 安裝GLAD vcpkg install glad1.2 初始測試代碼 #include <glad/glad.h> #include <GLFW/glfw3.h> int main() {glfwInit();GLFWwindow* window = g…

西門子S7-1500與S7-200SMART通訊全攻略:從基礎配置到遠程IO集成

以下是一篇關于西門子S7-1500與S7-200SMART通訊的詳細教程&#xff0c;包含遠程IO模塊的配置方法&#xff0c;適用于工業自動化場景的博客發布&#xff1a; 西門子S7-1500與S7-200SMART通訊全攻略&#xff1a;從基礎配置到遠程IO集成 一、硬件與軟件準備 硬件設備 主站&#x…

前端性能優化的全方位方案【待進一步結合項目】

以下是前端性能優化的全方位方案,結合代碼配置和最佳實踐,涵蓋從代碼編寫到部署的全流程優化: 一、代碼層面優化 1. HTML結構優化 <!-- 語義化標簽減少嵌套 --> <header><nav>...</nav> </header> <main><article>...</arti…

前端快速入門——JavaScript變量、控制語句

1.JavaScript 定義 JavaScript 簡稱 JS. JavaScript 是一種輕量級、解釋型、面向對象的腳本語言。它主要被設計用于在網頁上實現動態效果&#xff0c;增加用戶與網頁的交互性。 作為一種客戶端腳本語言&#xff0c;JavaScript 可以直接嵌入 HTML&#xff0c;并在瀏覽器中執行。…

GitHub 趨勢日報 (2025年04月01日)

GitHub 趨勢日報 (2025年04月01日) 本日報由 TrendForge 系統生成 https://trendforge.devlive.org/ &#x1f4c8; 今日整體趨勢 Top 10 排名項目名稱項目描述今日獲星語言1punkpeye/awesome-mcp-serversA collection of MCP servers.? 3280未指定2th-ch/youtube-musicYouTu…

windows手動添加鼠標右鍵彈窗快捷方式

此處以添加Git Bash Here為例 一.操作步驟 按 Win R 鍵打開 運行 對話框&#xff0c;輸入 regedit&#xff0c;并按下回車&#xff0c;打開注冊表編輯器。 導航到 HKEY_CLASSES_ROOT\Directory\Background\shell。 右鍵單擊 shell&#xff0c;選擇 新建 → 項&#xff0c;并…

2025.04.09【Sankey】| 生信數據流可視化精講

文章目錄 引言Sankey圖簡介R語言中的Sankey圖實現安裝和加載networkD3包創建Sankey圖的數據結構創建Sankey圖繪制Sankey圖 結論 引言 在生物信息學領域&#xff0c;數據可視化是理解和分析復雜數據集的關鍵工具之一。今天&#xff0c;我們將深入探討一種特別適用于展示數據流動…

GD32H759IMT6 Cortex-M7 OpenHarmony輕量系統移植——4.1版本升級到5.0.3

筆者在去年利用國慶時間&#xff0c;將Cortex-M7 的國產廠商兆易創新GD32H459移植OpenHarmony輕量系統&#xff0c;但是適配不太完善——只能選擇liteos-m接管中斷。這樣導致使用中斷非常麻煩。于是筆者最近將接管中斷模式修改為不接管&#xff0c;這樣可以方便的使用gd32提供的…