pandas是Python/ target=_blank class=infotextkey>Python中的一個數據分析庫,它提供了各種用于數據操作和數據分析的函數和數據結構。Pandas是專門為處理表格和混雜數據設計的,非常適合于清洗、整理和處理數據。他的主要功能包括:
- 數據讀取:支持多種格式的文件讀取,如csv、Excel、dbf、html、json等。
- 數據結構:Pandas提供了兩種主要的數據結構——Series和DataFrame。
- 數據清洗:支持數據篩選,缺失數據、重復數據處理,數據類型轉換等。
- 數據合并:可以根據某一列的值把兩個DataFrame合并成一個DataFrame
- 數據分組:可以按照指定的列將數據分組,對每一組數據進行聚合運算。
下面是pandas的20個常用示例:
- 讀取csv文件
import pandas as pd
df = pd.read_csv('path/to/file.csv')
- 讀取Excel文件
import pandas as pd
df = pd.read_excel('path/to/file.xlsx')
- 讀取JSON文件
import pandas as pd
df = pd.read_json('path/to/file.json')
- 數據清洗:篩選行
df_new = df[df['column_name'] == 'column_value']
- 數據清洗:篩選列
df_new = df[['column_name1', 'column_name2']]
- 數據清洗:去除重復項
df_new = df.drop_duplicates()
- 數據清洗:替換缺失值
df_new = df.fillna('missing')
- 數據清洗:數據類型轉換
df_new['column_name'] = df_new['column_name'].astype('int64')
- 數據合并:內連接
df_new = pd.merge(df1, df2, on='column_name', how='inner')
- 數據合并:左連接
df_new = pd.merge(df1, df2, on='column_name', how='left')
- 數據合并:右連接
df_new = pd.merge(df1, df2, on='column_name', how='right')
- 數據分組:按列進行分組
grouped = df.groupby('column_name')
- 數據分組:添加聚合運算
grouped = df.groupby('column_name')['column_name1'].sum()
- 數據分組:添加多個聚合運算
grouped = df.groupby('column_name').agg({'column_name1': 'mean', 'column_name2': 'max'})
- 數據透視表:創建透視表
pivot = pd.pivot_table(df, values='value', index='index_column', columns='column_name')
- 數據透視表:計算透視表
pivot = pd.pivot_table(df, values='value', index='index_column', columns='column_name', aggfunc='mean')
- 排序:按照某一列排序
df_new = df.sort_values('column_name', ascending=False)
- 統計:計算平均數、標準差、最小值、最大值、中位數、四分位數等
mean = df['column_name'].mean()
std = df['column_name'].std()
min_value = df['column_name'].min()
max_value = df['column_name'].max()
median = df['column_name'].median()
q1 = df['column_name'].quantile(0.25)
q3 = df['column_name'].quantile(0.75)
- 列重命名
df_new = df.rename(columns={'old_column_name': 'new_column_name'})
- 列刪除
df_new = df.drop(['column_name'], axis=1)
注意事項:
- pandas常用于處理較大的數據集,需要充分利用其提供的向量化操作以及其他高效的操作方式。
- 在進行數據清洗時,需要特別注意缺失值、異常值、重復值、數據類型等問題,否則會影響后續分析結果。
- 在進行數據合并時,需要注意數據是否有重疊,以及如何決定合并方式(內連接、左連接、右連接等)。
- 在進行數據分組時,需要注意分組依據是否合理,以及如何進行聚合運算等問題。
- 在進行排序和統計時,需要注意選取正確的列,并且注意數據分布是否符合假設。