15個必知Pandas代碼片段,助你精通數(shù)據(jù)分析
作者:學(xué)研君
Python的Pandas庫是數(shù)據(jù)分析的基本工具,提供了強(qiáng)大的數(shù)據(jù)操作和分析功能。在本文中,將探討每個數(shù)據(jù)科學(xué)家都應(yīng)該將其掌握的15個高級Pandas代碼片段。這些代碼片段將幫助簡化數(shù)據(jù)分析任務(wù),并從數(shù)據(jù)集中提取有價值的見解。
簡介
Python的Pandas庫是數(shù)據(jù)分析的基本工具,提供了強(qiáng)大的數(shù)據(jù)操作和分析功能。在本文中,將探討每個數(shù)據(jù)科學(xué)家都應(yīng)該將其掌握的15個高級Pandas代碼片段。這些代碼片段將幫助簡化數(shù)據(jù)分析任務(wù),并從數(shù)據(jù)集中提取有價值的見解。
1.過濾數(shù)據(jù)
import pandas as pd
# 創(chuàng)建一個DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],
'Age': [25, 30, 35, 40]}
df = pd.DataFrame(data)
# 過濾年齡大于30的記錄
filtered_df = df[df['Age'] > 30]
print(filtered_df)
2.分組和聚合數(shù)據(jù)
# 按列分組并計算平均值
grouped = df.groupby('Age').mean()
print(grouped)
3.處理缺失數(shù)據(jù)
# 檢查缺失值
missing_values = df.isnull().sum()
# 使用特定值填充缺失值
df['Age'].fillna(0, inplace=True)
4.對列應(yīng)用函數(shù)
# 對列應(yīng)用自定義函數(shù)
df['Age'] = df['Age'].apply(lambda x: x * 2)
5.連接DataFrame
# 連接兩個DataFrame
df1 = pd.DataFrame({'A': ['A0', 'A1'], 'B': ['B0', 'B1']})
df2 = pd.DataFrame({'A': ['A2', 'A3'], 'B': ['B2', 'B3']})
result = pd.concat([df1, df2], ignore_index=True)
print(result)
6.合并DataFrame
# 合并兩個DataFrame
left = pd.DataFrame({'key': ['A', 'B', 'C'], 'value': [1, 2, 3]})
right = pd.DataFrame({'key': ['B', 'C', 'D'], 'value': [4, 5, 6]})
merged = pd.merge(left, right, on='key', how='inner')
print(merged)
7.透視表
# 創(chuàng)建數(shù)據(jù)透視表
pivot_table = df.pivot_table(index='Name', columns='Age', values='Value')
print(pivot_table)
8.處理日期時間數(shù)據(jù)
# 將列轉(zhuǎn)換為DateTime類型
df['Date'] = pd.to_datetime(df['Date'])
9.重塑數(shù)據(jù)
# 將DataFrame進(jìn)行融合
melted_df = pd.melt(df, id_vars=['Name'], value_vars=['A', 'B'])
print(melted_df)
10. 處理分類數(shù)據(jù)
# 對分類變量進(jìn)行編碼
df['Category'] = df['Category'].astype('category')
df['Category'] = df['Category'].cat.codes
11. 數(shù)據(jù)采樣
# 從DataFrame中隨機(jī)抽取行
sampled_df = df.sample(n=2)
12. 計算累積和
# 計算累積和
df['Cumulative_Sum'] = df['Values'].cumsum()
13. 去除重復(fù)值
# 去除重復(fù)行
df.drop_duplicates(subset=['Column1', 'Column2'], keep='first', inplace=True)
14. 創(chuàng)建虛擬變量
# 為分類數(shù)據(jù)創(chuàng)建虛擬變量
dummy_df = pd.get_dummies(df, columns=['Category'])
15. 導(dǎo)出數(shù)據(jù)
# 將DataFrame導(dǎo)出為CSV文件
df.to_csv('output.csv', index=False)
掌握這15個Pandas代碼片段,將極大增強(qiáng)你的數(shù)據(jù)操作和分析能力。將它們納入工作流程中,可以更加高效地處理和探索數(shù)據(jù)集。
責(zé)任編輯:武曉燕
來源:
Python學(xué)研大本營