Pandas DataFrame基礎知識
1.1 簡介
Pandas 是 Python 編程語言的一個軟件庫,用于數據操作和分析。它提供了強大的數據結構,特別是 DataFrame,用于處理結構化數據。DataFrame 類似于電子表格,可以存儲多種類型的數據,并支持各種數據操作,包括索引、選擇、過濾、合并和聚合數據。Pandas 還提供了用于讀取和寫入各種數據格式(如 CSV、Excel、SQL 數據庫等)的工具,使數據的導入和導出變得非常簡單。Pandas 是數據科學和機器學習領域的重要工具之一,廣泛應用于數據清洗、數據轉換、數據可視化等任務。
1.2 加載數據集
1.2.1從csv中讀取數據
import pandas as pd # 讀取 CSV 文件 df = pd.read_csv('file.csv')
1.2.2從Excel中讀取數據
import pandas as pd # 讀取 Excel 文件的指定工作表 df = pd.read_excel(r'E:\\PycharmProjects\\pandas學習\\超市.xls', sheet_name='訂單') print(df.head())#調用head方法,只顯示前五行數據 print(type(df)) #檢查返回的是不是DataFrame print(df.shape) #返回行數和列數 print(df.columns) #返回列名 print(df.dtypes)#獲取每列的dtype print(df.info())#獲取更多數據信息
1.2.3從json中讀取數據
import pandas as pd # 讀取 JSON 文件 df = pd.read_json('file.json')
1.3 查看列、行和單元格
1.3.1 獲取列子集
import pandas as pd # 讀取 Excel 文件的指定工作表 df = pd.read_excel(r'E:\\PycharmProjects\\pandas學習\\超市.xls', sheet_name='訂單') 訂單ID_df=df['訂單 ID'] print(訂單ID_df.head())#只顯示前五行數據 print(訂單ID_df.tail())#只顯示后五行數據 #獲取多列數據 多列數據_df=df[['訂單 ID','類別','區域']] print(多列數據_df.head())#只顯示前五行數據
1.3.2 獲取行子集
import pandas as pd # 讀取 Excel 文件的指定工作表 df = pd.read_excel(r'E:\\PycharmProjects\\pandas學習\\超市.xls', sheet_name='訂單') print(df.head())#只顯示前五行數據 print(df.loc[0]) #獲取第1行 print(df.loc[99]) #獲取第100行 #通過shape的第一個值獲取行數 number_of_rows=df.shape[0] last_row_index=number_of_rows-1 #獲取最后一行數據 print(df.loc[last_row_index]) #獲取最后一行數據 print(df.tail(n=1)) #獲取多行 print(df.loc[[0,99,999]]) #通過行號獲取行:iloc print(df.iloc[-1])
1.3.3 混合
import pandas as pd # 讀取 Excel 文件的指定工作表 df = pd.read_excel(r'E:\\PycharmProjects\\pandas學習\\超市.xls', sheet_name='訂單') #使用loc獲取列和行的子集 print(df.loc[:,['客戶名稱','城市']]) print(df.loc[0:99,['客戶名稱','城市']]) #使用iloc獲取列和行的子集 print(df.iloc[:,[6,8,-1]]) print(df.iloc[0:100,[6,8,-1]])
1.4 分組和聚合計算
1.4.1 分組方式
import pandas as pd # 讀取 Excel 文件的指定工作表 df = pd.read_excel(r'E:\\PycharmProjects\\pandas學習\\超市.xls', sheet_name='訂單') #根據消費者類型分組求銷售額的總和 print(df.groupby('細分')['銷售額'].sum()) #多字段分組聚合 print(df.groupby(['細分','區域'])[['銷售額','數量']].sum()) #平鋪dataframe print(df.groupby(['細分','區域'])[['銷售額','數量']].sum().reset_index())
1.4.2 分組頻率計數
import pandas as pd # 讀取 Excel 文件的指定工作表 df = pd.read_excel(r'E:\\PycharmProjects\\pandas學習\\超市.xls', sheet_name='訂單') #使用nunique()方法計算series中唯一值的數量 print(df.groupby(['細分'])['區域'].nunique())
#使用value_counts()方法計算series中出現的次數
print(df.groupby(['細分'])['區域'].value_counts())

浙公網安備 33010602011771號