Pandas DataFrame 基本操作實例100個

Pandas

是一個基于NumPy的數據分析模塊,最初由AQR Capital Management于2008年4月開發,并于2009年底開源。Pandas的名稱來源于“Panel Data”(面板數據)和“Python數據分析”(data analysis)。這個庫現在由專注于Python數據包開發的PyData開發團隊繼續開發和維護,屬于PyData項目的一部分。

Pandas為Python提供了大量的數據處理函數和方法,使得Python成為強大而高效的數據分析環境。這個庫主要提供了三種數據結構:Series(帶標簽的一維數組)、DataFrame(帶標簽且大小可變的二維表格結構)和Panel(帶標簽且大小可變的三維數組)。這些數據結構使得Pandas能夠高效地處理大型數據集。

Pandas的主要功能包括數據清理、數據轉換、數據提取和分析等。它可以幫助用戶解決各種數據問題,如檢查兩個或多個列之間是否存在相關性,計算數據的平均值、最大值、最小值等。此外,Pandas還能夠刪除不相關的行或包含錯誤值的行,這被稱為數據清洗。

示例

提高可讀性的列重命名:重命名DataFrame列以提高可讀性。

df.rename(columns={'old_name': 'new_name'}, inplace=True)

為MultiIndex DataFrames展平索引:為簡化起見,展平MultiIndex DataFrame。

df.columns = ['_'.join(col).strip() for col in df.columns.values]

為DataFrame應用條件格式:使用Styler突出顯示特定數據點。

df.style.applymap(lambda x: 'background-color: yellow' if x > 0 else 'background-color: red')

使用分類數據類型優化性能:將對象類型轉換為分類類型,以加快操作速度并減少內存使用。

df['category'] = df['category'].astype('category')

使用filter動態過濾行:根據動態條件過濾DataFrame行。

df_filtered = df.filter(regex='pattern')

在多個列上應用函數:使用apply和axis=1在行上應用函數。

df['new_column'] = df.apply(lambda row: row['a'] + row['b'], axis=1)

使用concat高效合并DataFrames:在管理索引的同時垂直或水平連接DataFrames。

pd.concat([df1, df2], axis=0, ignore_index=True)

使用read_csv參數進行選擇性讀取:使用read_csv中的參數讀取文件的特定行、列或塊。

df = pd.read_csv('file.csv', usecols=['col1', 'col2'], nrows=100)

使用fillna處理缺失數據:用特定值或計算值(如列的均值)填充缺失值。

df.fillna(df.mean(), inplace=True)

檢測和過濾異常值:根據z分數或IQR識別并刪除異常值。

from scipy.stats import zscore?
df = df[(np.abs(zscore(df)) < 3).all(axis=1)]

用于報告的DataFrame樣式化:使用Pandas Styler為報告生成向DataFrame添加CSS樣式。

df.style.set_properties(**{'background-color': 'black', 'color': 'white'})

從列創建MultiIndex:將DataFrame列轉換為MultiIndex以創建分層級別。

df.set_index(['col1', 'col2'], inplace=True)

使用groupby和自定義函數進行聚合:對數據進行分組并應用自定義聚合函數進行詳細分析。

df.groupby('group').agg({'data': lambda x: x.max() - x.min()})

時間序列分解:將時間序列數據分解為趨勢、季節性和殘差分量。

from statsmodels.tsa.seasonal import seasonal_decompose?
result = seasonal_decompose(df['time_series'], model='additive', freq=365)?
result.plot()

為時間序列分析創建滯后特征:創建滯后特征以在時間序列預測的機器學習模型中使用。

df['lag_1'] = df['series'].shift(1)

使用pivot_table進行多維分析:為復雜數據匯總創建類似電子表格的數據透視表。

df.pivot_table(values='D', index=['A', 'B'], columns=['C'], aggfunc=np.sum)

使用set_index進行自定義索引:將DataFrame列設置為索引以便于行查找。

df.set_index('column_name', inplace=True)

大型數據集的批處理:以批處理方式處理大型數據集以最小化內存使用。

chunk_size = 10000
for chunk in pd.read_csv('large_dataset.csv', chunksize=chunk_size):
? ? process(chunk)

使用melt進行數據規范化:將DataFrame從寬格式規范化或展開到長格式。

pd.melt(df, id_vars=['id'], value_vars=['A', 'B', 'C'])

使用query安全訪問數據:使用query方法使用查詢表達式過濾DataFrame。

df.query('column > 100')

使用loc進行條件選擇:使用loc基于標簽進行更復雜的條件選擇。

df_filtered = df.loc[df['column'] > 10, ['column1', 'column2']]

使用at和iat進行快速標量訪問:使用at進行基于標簽的標量訪問,使用iat進行基于整數的訪問。

value = df.at[0, 'column'] value = df.iat[0, 1]

多級索引xs:使用xs從具有多級索引的DataFrame獲取交叉部分。

value = df.xs('Level1', level='LevelName', axis=0)

使用factorize創建虛擬變量:將分類變量數值化為虛擬/指示變量。

df['category_encoded'], _ = pd.factorize(df['category_column'])

使用eval和query進行動態查詢:使用字符串表達式進行高效查詢和列操作。

df_filtered = df.query('column > 10')
df.eval('new_column = column1 + column2', inplace=True)

使用sort_values進行自定義排序:按照一個或多個列進行排序,并指定自定義排序順序。

df_sorted = df.sort_values(by=['column1', 'column2'], ascending=[True, False])

使用to_datetime進行高效日期解析:將字符串日期有效地轉換為日期時間對象。

df['date'] = pd.to_datetime(df['date_string'], format='%Y-%m-%d')

使用chunksize處理大型數據:以可管理的塊處理大型數據。

for chunk in pd.read_csv('large_file.csv', chunksize=10000):
? ? process(chunk)

自定義Groupby聚合:對groupby對象應用自定義聚合函數。

df_grouped = df.groupby('group_column').agg({'data_column': ['mean', 'std', lambda x: x.max() - x.min()]})

時間序列重采樣:對時間序列數據進行降采樣或升采樣。

df_resampled = df.resample('M').mean()

使用pivot進行數據重格式化:基于列值對表進行數據透視。

df_pivoted = df.pivot(index='date', columns='variable', values='value')

使用Multi-Index進行stack和unstack:將具有多級列的DataFrame轉換為更緊湊的形式。

stacked = df.stack()?
unstacked = stacked.unstack()

字符串和類別類型之間的轉換:將數據類型轉換為優化內存使用的格式。

df['string_column'] = df['category_column'].astype('string')
df['category_column'] = df['string_column'].astype('category')

使用不同連接類型合并DataFrames:執行左連接、右連接、內連接和外連接,類似于SQL。

df_merged = pd.merge(df1, df2, how='left', on='key_column')

使用iloc切片DataFrame:使用iloc進行基于位置的索引,通過整數位置選擇行和列。

df_subset = df.iloc[0:5, [1, 2]]

根據條件創建數據屏蔽:創建布爾屏蔽以過濾數據。

mask = (df['column'] > 10) & (df['column'] < 20)
df_masked = df[mask]

時間序列的擴展和滾動操作:使用擴展或滾動操作進行累積計算。

df_expanding = df['data_column'].expanding().mean()
df_rolling = df['data_column'].rolling(window=5).mean()

數據轉換的列映射:對數據轉換應用字典映射到列。

df['column_mapped'] = df['column'].map(mapping_dict)

將字符串拆分為列:將字符串數據拆分為單獨的列。

df[['first', 'last']] = df['name'].str.split(' ', expand=True)

在多個級別聚合數據:對groupby執行多級別聚合。

df_multi_agg = df.groupby(['level1', 'level2']).agg({'data1': 'mean', 'dat

使用query進行過濾:query方法允許更可讀的過濾語法,特別是對于復雜條件。

df_filtered = df.query('a > 1 and b < 4')

使用assign創建新列:動態向DataFrame添加新列,這對于鏈式操作特別有用。

df = df.assign(new_column=lambda x: x['a'] + x['b'])

使用applymap進行矢量化操作:在DataFrame上逐元素地應用函數,對于將變換應用于每個元素很有用。

df = df.applymap(lambda x: x*2)

連接DataFrames:垂直或水平組合多個DataFrames。

df_combined = pd.concat([df1, df2], axis=0) ?# 垂直

在關鍵列上合并DataFrames:根據關鍵列合并DataFrames,類似于SQL連接。

df_merged = pd.merge(df1, df2, on='key_column')

使用get_dummies進行獨熱編碼:將分類變量轉換為虛擬/指示變量。

df_with_dummies = pd.get_dummies(df, columns=['category_column'])

自定義聚合的GroupBy:對數據進行分組并應用自定義聚合函數。

df_grouped = df.groupby('group_column').agg(custom_agg_func)

使用cut對數據進行分箱:將數據值分段和排序到箱中。

df['binned_column'] = pd.cut(df['numeric_column'], bins=3)

使用replace進行數據清理:替換DataFrame中的值。

df = df.replace({'old_value': 'new_value'})

刪除具有缺失值的列:刪除具有一定百分比缺失值的列。

df = df.dropna(axis=1, thresh=int(0.9*len(df)))

DataFrame內存使用情況:檢查DataFrame的內存使用情況。

df_memory_usage = df.memory_usage(deep=True)

使用select_dtypes按數據類型選擇列:根據數據類型篩選列。

df_numeric = df.select_dtypes(include=['int64', 'float64'])

設置和重置索引:使用列作為DataFrame索引或將其重置。

df.set_index('column_name', inplace=True)
df.reset_index(inplace=True)

使用iterrows對行進行迭代:以(index, Series)對的形式循環DataFrame行。

for index, row in df.iterrows():
? ? print(index, row['column'])

對DataFrame操作使用inplace=True:許多DataFrame方法提供inplace參數,允許在原地修改DataFrame而不將結果分配給新變量。這可以使代碼更簡潔,減少內存使用。

import pandas as pddf = pd.DataFrame([[1, 2, 3],[4, 5, 6],[None, 2, 3],[None, 5, 6],
], columns=['a', 'b', 'c'])# 刪除帶有NaN值的行
df.dropna(inplace=True)
print(df)

使用melt進行數據重塑:將DataFrame從寬格式重塑為長格式,可選擇保留標識符。

df_melted = pd.melt(df, id_vars=['identifier_column'], value_vars=['value_column'])

日期和時間操作:提取或操作日期時間對象的組件。

df['year'] = df['datetime_column'].dt.year

將DataFrame保存為各種格式:將DataFrame導出為CSV、Excel或SQL數據庫。

df.to_csv('filename.csv', index=False)
df.to_excel('filename.xlsx', sheet_name='Sheet1')

使用特定dtypes讀取數據:在加載數據時指定列數據類型以節省內存。

df = pd.read_csv('filename.csv', dtype={'column': 'dtype'})

使用eval進行高效操作:評估描述DataFrame列操作的字符串。

df['new_column'] = df.eval('column1 + column2')

使用str方法進行數據清洗:清理或操作字符串列。

df['string_column'] = df['string_column'].str.strip().str.lower()

使用df.to_clipboard()將數據復制到剪貼板:將DataFrame的內容復制到剪貼板。

import pandas as pddf = pd.DataFrame([[1, 2, 3],[4, 5, 6]
], columns=['a', 'b', 'c'])# 將DataFrame復制到剪貼板
df.to_clipboard()

使用.T轉置DataFrame:轉置DataFrame會交換其行和列,這在數據分析中特別有用,特別是當您想要更改數據集的方向以進行可視化或比較時。

import pandas as pddf = pd.DataFrame([[1, 2, 3],[4, 5, 6]
], columns=['a', 'b', 'c'])# 轉置DataFrame
df_transposed = df.T
print(df_transposed)

使用.apply()應用函數:.apply()方法允許您在DataFrame或Series的軸上應用函數。對于將復雜函數或lambda表達式應用于數據元素非常有用。

import pandas as pddf = pd.DataFrame([[1, 2, 3],[4, 5, 6],[7, 8, 9]
], columns=['a', 'b', 'c'])# 在“a”列中求平方
df['a_squared'] = df['a'].apply(lambda x: x**2)
print(df)

使用~反轉過濾條件:使用波浪符~反轉布爾條件。當您想要選擇不匹配某個條件的行時特別有用,例如在DataFrame中選擇非空值。

import pandas as pddf = pd.DataFrame([[1, 2, 3],[1, 2, 4],[None, 2, 4],[2, 2, 3],[None, 2, 4]
], columns=['a', 'b', 'c'])# 通過反轉過濾選擇“a”不是NaN的行
df_not_null = df[~df['a'].isna()]
print(df_not_null)

條件列創建:使用np.where根據條件創建新列。

df['new_column'] = np.where(df['column'] > condition, value_if_true, value_if_false)

多重索引創建:為更復雜的數據分析創建分層索引(MultiIndex)。

df.set_index(['column1', 'column2'], inplace=True)

透視表:生成用于匯總數據的透視表。

df.pivot_table(values='value_column', index='index_column', columns='columns_column', aggfunc=np.sum)

類別數據轉換:將分類數據轉換為‘category’類型以提高效率。

df['category_column'] = df['category_column'].astype('category')

在索引上合并:使用它們的索引合并兩個數據幀。

pd.merge(df1, df2, left_index=True, right_index=True)

窗口函數:使用滾動窗口進行計算。

df['rolling_sum'] = df['value'].rolling(window=3).sum()

使用GroupBy進行聚合:使用groupby執行高級聚合。

df.groupby('group_column').agg({'value_column': ['sum', 'mean', 'std']})

處理缺失數據:使用插值方法智能地處理缺失數據。

df.interpolate(method='linear', inplace=True)

矢量化字符串操作:使用矢量化操作無需循環應用字符串方法。

df['string_column'].str.upper()

日期處理:將字符串轉換為日期時間并提取特征。

df['date_column'] = pd.to_datetime(df['date_column'])
df['year'] = df['date_column'].dt.year

內存優化:通過將數字列下降轉換為整數來減少內存使用。

df['int_column'] = pd.to_numeric(df['int_column'], downcast='integer')

交叉表:創建交叉表以探索兩列之間的關系。

pd.crosstab(df['column1'], df['column2'])

展開列表:將DataFrame列中的列表擴展為單獨的行。

df.explode('list_column')

數據歸一化:為機器學習歸一化數據列。

df['normalized'] = (df['column'] - df['column'].mean()) / df['column'].std()

條件應用函數:根據條件將函數應用于特定行或列。

df.apply(lambda x: func(x) if condition else x)

處理重復行:識別并刪除重復行。

df.drop_duplicates(subset=['column1', 'column2'], keep='first')

類別排序:邏輯排序類別,而不是按字母順序排序。

from pandas.api.types import CategoricalDtype
cat_type = CategoricalDtype(categories=['low', 'medium', 'high'], ordered=True)
df['ordered_category'] = df['category_column'].astype(cat_type)

時間序列重采樣:為不同的時間框架重采樣時間序列數據。

df.resample('M').mean()

過濾的查詢方法:使用查詢更簡潔地過濾行。

df.query('column > value')

為DataFrame應用樣式:為更好地可視化,在DataFrame上應用條件格式。

df.style.applymap(lambda x: 'color: red' if x < 0 else 'color: black')

動態列選擇:根據條件檢查其數據類型或其他條件選擇列。

numeric_cols = df.select_dtypes(include=['int64', 'float64']).columns

高效的日期范圍創建:生成日期和時間序列。

dates = pd.date_range(start='2020-01-01', end='2020-12-31', freq='D')

自定義列聚合:在groupby中對不同列應用不同的聚合函數。

df.groupby('group_col').agg({'data1': 'sum', 'data2': 'mean'})

DataFrame聯接操作:使用索引或公共列聯接DataFrame,類似于SQL聯接。

df_joined = df1.join(df2.set_index('key'), on='key')

保存到多個Excel表:將不同的DataFrame寫入同一Excel文件的不同工作表。

with pd.ExcelWriter('output.xlsx') as writer:
? ? df1.to_excel(writer, sheet_name='Sheet1')
? ? df2.to_excel(writer, sheet_name='Sheet2')

列合并:按列合并DataFrame,根據索引對齊。

df_concat = pd.concat([df1, df2], axis=1)

按行數據追加:將一個DataFrame的行追加到另一個DataFrame。

df_appended = df1.append(df2, ignore_index=True)

類別數據排序:控制分類數據中類別的順序。

df['category'] = pd.Categorical(df['category'], categories=['low', 'medium', 'high'], ordered=True)

重復行識別:基于特定列識別和處理重復行。

duplicates = df.duplicated(subset=['col1', 'col2'], keep=False)
df_duplicates = df[duplicates]

加權平均數計算:為分組數據計算加權平均數。

df['weighted_mean'] = df.groupby('group')['value'].transform(lambda x: np.average(x, weights=df.loc[x.index, 'weight']))

用于數據概覽的Pandas Profiling:為DataFrame生成全面的報告進行初步數據分析。

import pandas_profiling
report = pandas_profiling.ProfileReport(df)
report.to_file("data_analysis.html")

多重索引操作用于分層數據:使用分層索引(MultiIndex)操作DataFrame以處理復雜數據結構。

df_multi = df.set_index(['level_1', 'level_2'])

使用布爾索引對DataFrame進行切片:使用布爾條件對DataFrame進行切片以進行數據子集化。

df_sliced = df[df['column'] > value]

滾動窗口計算:在滾動窗口中執行計算,例如移動平均數。

df_rolling_avg = df['data_column'].rolling(window=5).mean()

擴展窗口用于累積計算:使用擴展窗口計算累積統計信息。

df_cum_sum = df['data_column'].expanding().sum()


總結

總的來說,Pandas是一個強大而靈活的數據分析工具,它使得Python在數據分析領域具有廣泛的應用。無論是金融、科學、社會科學還是其他領域,Pandas都可以幫助用戶高效地處理和分析數據,從而得出有價值的結論。以上100個基本操作實例涉及數據排序、數值計算、數據分析、重復處理、布爾索引切片、多重索引設置、文件操作等等操作,其中提到的函數、方法和屬性包括不限于以下索引:

函數索引

agg, append, apply, astype, at, columns, concat, crosstab, date_range, downcast, drop_duplicates, dropna, duplicated, eval, expanding, explode, fillna, filter, groupby, iloc, inplace, interpolate, iterrows, join, keep, loc, map, mask, melt, memory_usage, merge, np.average, np.where, pandas_profiling.ProfileReport, pd.Categorical, pd.factorize, pd.melt, pd.to_datetime, pivot, pivot_table, query, read_csv, resample, rolling, seasonal_decompose, select_dtypes, set_index, reset_index, shift, sort_values, stack,\xa0unstack, style.applymap, to_clipboard, to_csv, to_excel, to_datetime, to_file, agg, append, apply, astype, at, columns, concat, crosstab, date_range, downcast, drop_duplicates, dropna, duplicated, eval, expanding, explode, fillna, filter, groupby, iloc, inplace, interpolate, iterrows, join, keep, loc, map, mask, melt, memory_usage, merge, np.average, np.where, pandas_profiling.ProfileReport, pd.Categorical, pd.factorize, pd.melt, pd.to_datetime, pivot, pivot_table, query, read_csv, resample, rolling, seasonal_decompose, select_dtypes, set_index, reset_index, shift, sort_values, stack,\xa0unstack, style.applymap, to_clipboard, to_csv, to_excel, to_datetime, to_file?

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

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

相關文章

來不及了!大學必須完成的四件事!

老師們常說&#xff0c;上大學就輕松了 其實不然 大學不是人生的終點&#xff0c;而是新的起跑線 不是休息站&#xff0c;而是進入社會的最后沖刺跑道 大學生活苦樂參半&#xff0c;成人世界即將來臨 出了校門&#xff0c;你會發現社會復雜多變&#xff0c;需要不斷學習 稍…

excel中如何使用VLOOKUP和EXACT函數實現區分大小寫匹配數據

在 Excel 中&#xff0c;VLOOKUP 函數默認情況下是不區分大小寫的&#xff1a; 比如下面的案例&#xff0c;直接使用VLOOKUP函數搜索&#xff0c;只會搜索匹配到不區分大小寫的第一個 如果我們想要實現區分大小寫的精確匹配&#xff0c;可以使用 EXACT 函數結合 VLOOKUP 函數 …

【簡說八股】Redisson的守護線程是怎么實現的

Redisson Redisson 是一個 Java 語言實現的 Redis SDK 客戶端&#xff0c;在使用分布式鎖時&#xff0c;它就采用了「自動續期」的方案來避免鎖過期&#xff0c;這個守護線程我們一般也把它叫做「看門狗」線程。 Redission是一個在Java環境中使用的開源的分布式緩存和分布式鎖實…

PyTorch-卷積神經網絡

卷積神經網絡 基本結構 首先解釋一下什么是卷積&#xff0c;這個卷積當然不是數學上的卷積&#xff0c;這里的卷積其實表示的是一個三維的權重&#xff0c;這么解釋起來可能不太理解&#xff0c;我們先看看卷積網絡的基本結構。 通過上面的圖我們清楚地了解到卷積網絡和一般網…

【Javascript】設計模式之發布訂閱模式

文章目錄 1、現實中的發布&#xff0d;訂閱模式2、DOM 事件3、簡單的發布-訂閱模式4、通用的發布-訂閱模式5、先發布再訂閱6、小結 發布—訂閱模式又叫觀察者模式&#xff0c;它定義對象間的一種一對多的依賴關系&#xff0c;當一個對象的狀態發生改變時&#xff0c;所有依賴于…

Mysql深入學習 基礎篇 Ss.02 詳解四類SQL語句

我親愛的對手&#xff0c;亦敵亦友&#xff0c;但我同樣希望你能成功&#xff0c;與我一起&#xff0c;站在人生的山頂上 ——24.3.1 一、DDL 數據定義語言 1.DDL —— 數據庫操作 查詢 查詢所有數據庫 show databases; 查詢當前數據庫 select database(); 創建 create databa…

【簡說八股】Nginx、GateWay、Ribbon有什么區別?

前言 在現代的微服務架構中&#xff0c;Nginx、Gateway 和 Ribbon 都是處理網絡請求和服務的組件&#xff0c;但它們各自扮演的角色和提供的功能有所不同。下面我將詳細解釋它們之間的區別&#xff1a; Nginx Nginx 是一個高性能的 HTTP 和反向代理服務器&#xff0c;它也可…

Golang Vs Java:為您的下一個項目選擇正確的工具

Java 首次出現在 1995 年&#xff0c;由 James Gosling 和 Sun Microsystems 的其他人開發的一種新編程語言。從那時起&#xff0c;Java 已成為世界上最受歡迎和廣泛使用的編程語言之一。Java 的主要特點包括其面向對象的設計、健壯性、平臺獨立性、自動內存管理以及廣泛的內置…

MSMFN

CDFI是彩色多普勒血流成像 輔助信息 作者未提供數據

Codeforces Round 930 (Div. 2)

substr時間復雜度O&#xff08;N&#xff09;&#xff0c;不能一遍遍找&#xff0c;會超時 #include<iostream> #include<algorithm> #include<vector> #include<map> using namespace std; const int N5e510; map<string,int>mp; vector<…

[C++]AVL樹怎么轉

AVL樹是啥 一提到AVL樹&#xff0c;腦子里不是旋了&#xff0c;就是懸了。 AVL樹之所以難&#xff0c;并不是因為結構難以理解&#xff0c;而是因為他的旋轉。 AVL樹定義 平衡因子&#xff1a;對于一顆二叉樹&#xff0c;某節點的左右子樹高度之差&#xff0c;就是該節點的…

5、云原生安全之falco的規則解讀(部分)(上)

文章目錄 1、自定義規則測試1.1、自定義檢測定時任務的規則2、自帶規則詳解部分2.1、意外的出站連接源(類似的還有入站連接)2.2、檢測目錄穿越攻擊2.3、rpm數據庫被修改2.4、數據庫派生新的進程2.5、特權容器啟動2.6、啟動容器掛載到敏感路徑2.7、匹配所有在pod內啟動、并連接…

音視頻數字化(數字與模擬-照相機)

目錄 1、模擬/數字 2、第一臺照相機 3、照相機原理 4、取景方式 5、底片 6、數碼相機 7、數碼相機指標 8、數碼相機分類 (1)單反相機 (2)單電相機 (3)無反相機

2024.03.02藍橋云課筆記

1.scanf與printf取消分隔符的限制方法 示例代碼&#xff1a; int main() { char s[10];scanf("%d[^\n]",s);printf("%s",s);return 0; } 運行&#xff1a; 輸入&#xff1a;Hello World 輸出&#xff1a;Hello World 注&#xff1a;其中[]中是一個正則…

(UE4升級UE5)Selected Level Actor節點升級到UE5

本問所用工具為&#xff1a;AssetDeveTool虛幻開發常用工具https://gf.bilibili.com/item/detail/1104960041 在UE4中 編輯器藍圖有個節點為 Get Selected Level Actors 但在UE5中&#xff0c;藍圖直接升級后&#xff0c;節點失效&#xff0c;如圖&#xff1a; 因為在UE5中&am…

Vue3中Vuex狀態管理庫學習筆記

1.什么是狀態管理 在開發中&#xff0c;我們會的應用程序需要處理各種各樣的數據&#xff0c;這些數據需要保存在我們應用程序的某個位置&#xff0c;對于這些數據的管理我們就稱之為狀態管理。 在之前我們如何管理自己的狀態呢&#xff1f; 在Vue開發中&#xff0c;我們使用…

大廠面試經驗:如何對加密后的數據進行模糊查詢操作

加密后的數據對模糊查詢不是很友好&#xff0c;本篇就針對加密數據模糊查詢這個問題來展開講一講實現的思路。 為了數據安全我們在開發過程中經常會對重要的數據進行加密存儲&#xff0c;常見的有&#xff1a;密碼、手機號、電話號碼、詳細地址、銀行卡號、信用卡驗證碼等信息…

YoloV5改進策略:主干網絡改進|MogaNet——高效的多階門控聚合網絡

文章目錄 摘要論文:《MogaNet——高效的多階門控聚合網絡》1、簡介2、相關工作2.1、視覺Transformers2.2、ViT時代的卷積網絡3、從多階博弈論交互的角度看表示瓶頸4、方法論4.1、MogaNet概述4.2、多階門控聚合4.3、通過通道聚合進行多階特征重新分配4.4、實現細節5、實驗5.1、…

Vue 3 中的 setup 函數是如何工作的?

Vue 3 中的 setup 函數是一個新的組件選項&#xff0c;用于使用組合式 API 定義組件的邏輯。這個函數的引入是為了解決 Vue 2 中隨著組件復雜度的增長&#xff0c;選項式的 API 可能導致代碼難以維護和理解的問題。通過 setup 函數&#xff0c;開發者可以更加靈活地組織和共享代…

Python光速入門 - Flask輕量級框架

FlASK是一個輕量級的WSGI Web應用程序框架&#xff0c;Flask的核心包括Werkzeug工具箱和Jinja2模板引擎&#xff0c;它沒有默認使用的數據庫或窗體驗證工具&#xff0c;這意味著用戶可以根據自己的需求選擇不同的數據庫和驗證工具。Flask的設計理念是保持核心簡單&#xff0c…