最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python數(shù)據(jù)分析Pandas全攻略

 更新時間:2025年08月01日 14:01:34   作者:晨曦543210  
在Python中,Pandas是一個非常強大的數(shù)據(jù)處理和分析庫,廣泛應用于數(shù)據(jù)科學和數(shù)據(jù)分析領域,接下來通過本文介紹Python數(shù)據(jù)分析Pandas全攻略包括安裝與導入示例,感興趣的朋友跟隨小編一起看看吧

一、簡介

Python 的 pandas 庫是數(shù)據(jù)分析的核心工具,專門處理結(jié)構(gòu)化數(shù)據(jù)(如表格、時間序列等)。

二、安裝與導入

1. 安裝

pip install pandas

2. 導入

import pandas as pd  # 行業(yè)標準縮寫

三、核心數(shù)據(jù)結(jié)構(gòu)

1.Series- 一維帶標簽

# 創(chuàng)建 Series
s = pd.Series([10, 20, 30, 40], index=['a', 'b', 'c', 'd'])
print(s)
a    10
b    20
c    30
d    40
dtype: int64

2.DataFrame- 二維表格(核心)

# 創(chuàng)建 DataFrame
data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Paris', 'London']
}
df = pd.DataFrame(data)
print(df)
      Name  Age      City
0    Alice   25  New York
1      Bob   30     Paris
2  Charlie   35    London

四、數(shù)據(jù)讀寫

1. 讀取數(shù)據(jù)(支持多種格式)

# 讀取 CSV
df = pd.read_csv('data.csv', encoding='utf-8')
# 讀取 Excel
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')
# 讀取 JSON(與之前學習的 json 庫結(jié)合)
df = pd.read_json('data.json')

2. 保存數(shù)據(jù)

# 保存為 CSV
df.to_csv('output.csv', index=False)  # 不保存行索引

# 保存為 Excel
df.to_excel('output.xlsx', sheet_name='Results')

五、數(shù)據(jù)探索

1. 查看數(shù)據(jù)

查看數(shù)據(jù)
方法作用示例
df.head(n)查看前n行df.head(3)
df.tail(n)查看后n行df.tail(2)
df.info()顯示數(shù)據(jù)概覽df.info()
df.describe()統(tǒng)計數(shù)值列df.describe()

2. 選擇數(shù)據(jù)

# 選擇列
ages = df['Age']          # 返回 Series
name_city = df[['Name', 'City']]  # 返回 DataFrame
# 選擇行
row_1 = df.iloc[0]        # 通過位置選擇
row_bob = df.loc[df['Name'] == 'Bob']  # 通過條件選擇
# 切片
subset = df[1:3]          # 第2-3行(左閉右開)

六、數(shù)據(jù)清洗

1. 處理缺失值

# 檢測缺失值
print(df.isnull())
# 刪除含缺失值的行
df_clean = df.dropna()
# 填充缺失值
df_filled = df.fillna({'Age': df['Age'].mean()})  # 用平均值填充年齡列

2. 去重

df_unique = df.drop_duplicates(subset=['Name'])  # 根據(jù)姓名去重

3. 類型轉(zhuǎn)換

df['Age'] = df['Age'].astype(float)  # 轉(zhuǎn)換為浮點型

七、數(shù)據(jù)分析

1. 過濾數(shù)據(jù)

# 篩選年齡 > 25 的記錄
adults = df[df['Age'] > 25]
# 復合條件(注意用 & 代替 and)
young_in_paris = df[(df['Age'] < 30) & (df['City'] == 'Paris')]

2. 分組聚合

# 按城市分組,計算平均年齡
city_stats = df.groupby('City')['Age'].mean()
print(city_stats)
City
London      35.0
New York    25.0
Paris       30.0
Name: Age, dtype: float64

3. 排序

df_sorted = df.sort_values(by='Age', ascending=False)  # 按年齡降序

八、數(shù)據(jù)合并

1. 橫向合并(類似 SQL JOIN)

df1 = pd.DataFrame({'ID': [1, 2], 'Name': ['A', 'B']})
df2 = pd.DataFrame({'ID': [2, 3], 'Age': [25, 30]})
# 內(nèi)連接
merged = pd.merge(df1, df2, on='ID', how='inner')

2. 縱向合并(類似 SQL UNION)

combined = pd.concat([df1, df2], axis=0)  # axis=0 表示行方向

九、時間序列處理

# 創(chuàng)建時間序列
date_rng = pd.date_range(start='2023-01-01', end='2023-01-05', freq='D')
ts = pd.Series([10, 20, 15, 30, 25], index=date_rng)
# 重采樣(按周計算平均值)
weekly_avg = ts.resample('W').mean()

十、可視化(需安裝 matplotlib)

import matplotlib.pyplot as plt
# 繪制年齡分布直方圖
df['Age'].plot(kind='hist', bins=5)
plt.title('Age Distribution')
plt.show()

十一、常見錯誤處理

1.KeyError

# 檢查列名是否存在
if 'Salary' in df.columns:
    print(df['Salary'])

2. 內(nèi)存不足

  • 使用 df.info(memory_usage='deep') 查看內(nèi)存占用

  • 用 df.select_dtypes(include='number') 選擇數(shù)值列處理

十二、完整工作流示例

# 1. 讀取數(shù)據(jù)
df = pd.read_csv('sales.csv')
# 2. 數(shù)據(jù)清洗
df = df.dropna(subset=['Price'])
df['Date'] = pd.to_datetime(df['Date'])
# 3. 分析
monthly_sales = df.groupby(pd.Grouper(key='Date', freq='M'))['Price'].sum()
# 4. 可視化
monthly_sales.plot(kind='bar')
plt.title('Monthly Sales')
plt.show()

十三、常用函數(shù)

1、數(shù)據(jù)讀取與保存

函數(shù)作用示例
pd.read_csv()讀取 CSV 文件df = pd.read_csv('data.csv')
pd.read_excel()讀取 Excel 文件df = pd.read_excel('data.xlsx')
pd.read_json()讀取 JSON 文件df = pd.read_json('data.json')
df.to_csv()保存為 CSVdf.to_csv('output.csv', index=False)
df.to_excel()保存為 Exceldf.to_excel('output.xlsx')

2、數(shù)據(jù)查看與篩選

函數(shù)/方法作用示例
df.head(n)查看前 n 行df.head(5)
df.tail(n)查看后 n 行df.tail(3)
df.info()顯示數(shù)據(jù)信息(列名、類型、非空值)df.info()
df.describe()統(tǒng)計數(shù)值列的基本統(tǒng)計量df.describe()
df.shape獲取 DataFrame 的維度print(df.shape) → 輸出 (行數(shù), 列數(shù))
df.columns獲取所有列名df.columns.tolist()
df.loc[]標簽索引選擇數(shù)據(jù)df.loc[2, 'Age'] → 選擇第3行的Age列
df.iloc[]位置索引選擇數(shù)據(jù)df.iloc[0:3, 1:4] → 選擇前3行,第2-4列
df.query()用表達式篩選數(shù)據(jù)df.query('Age > 30 & City == "London"')

3、數(shù)據(jù)清洗

函數(shù)/方法作用示例
df.dropna()刪除缺失值df.dropna(subset=['Age'])
df.fillna()填充缺失值df.fillna({'Age': df['Age'].mean()})
df.drop_duplicates()刪除重復行df.drop_duplicates(subset=['Name'])
df.rename()重命名列df.rename(columns={'old':'new'})
df.astype()轉(zhuǎn)換數(shù)據(jù)類型df['Age'] = df['Age'].astype(int)
df.replace()替換特定值df.replace({'Male':'M', 'Female':'F'})

4、數(shù)據(jù)分析

函數(shù)/方法作用示例
df.groupby()分組聚合df.groupby('City')['Sales'].sum()
df.pivot_table()創(chuàng)建數(shù)據(jù)透視表pd.pivot_table(df, values='Sales', index='Region', columns='Year')
df.sort_values()按值排序df.sort_values('Age', ascending=False)
df.value_counts()統(tǒng)計唯一值頻次df['City'].value_counts()
df.corr()計算列之間的相關系數(shù)df.corr()
df.merge()合并兩個 DataFramepd.merge(df1, df2, on='ID')
pd.concat()拼接 DataFramepd.concat([df1, df2], axis=0)

5、數(shù)據(jù)操作

函數(shù)/方法作用示例
df.apply()對列/行應用函數(shù)df['Age'].apply(lambda x: x + 1)
df.map()對 Series 元素映射轉(zhuǎn)換df['Gender'].map({'M':1, 'F':0})
df.assign()創(chuàng)建新列df.assign(Income = df['Salary']*12)
df.drop()刪除列或行df.drop(columns=['Temp'])
df.where()條件篩選(保留滿足條件的值)df.where(df['Age'] > 18)
df.melt()寬表轉(zhuǎn)長表df.melt(id_vars=['Name'])

到此這篇關于Python數(shù)據(jù)分析Pandas全攻略的文章就介紹到這了,更多相關Python Pandas安裝導入內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 如何利用Python獲取鼠標的實時位置

    如何利用Python獲取鼠標的實時位置

    這篇文章主要給大家介紹了關于如何利用Python獲取鼠標的實時位置的相關資料,主要利用的是pyautogui,一個自動化鍵鼠操作的Python類庫,需要的朋友可以參考下
    2022-01-01
  • 利用Seaborn繪制20個精美的pairplot圖

    利用Seaborn繪制20個精美的pairplot圖

    本文記錄的使用seaborn繪制pairplot圖,主要是用來顯示兩兩變量之間的關系(線性或非線性,有無較為明顯的相關關系等),感興趣的可以了解一下
    2022-07-07
  • Python中數(shù)字類型內(nèi)置方法詳解

    Python中數(shù)字類型內(nèi)置方法詳解

    在?Python?編程里,數(shù)字類型是極為基礎且關鍵的數(shù)據(jù)類型,本文將深入介紹?Python?數(shù)字類型的內(nèi)置方法,同時輔以詳細的代碼示例,需要的可以了解下
    2025-04-04
  • python打開文件的方式有哪些

    python打開文件的方式有哪些

    在本篇文章里小編給大家分享了關于python打開文件的方式,需要的朋友們可以學習參考下。
    2020-06-06
  • 對pyqt5之menu和action的使用詳解

    對pyqt5之menu和action的使用詳解

    今天小編就為大家分享一篇對pyqt5之menu和action的使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Linux下使用python腳本執(zhí)行BCP導入導出方式

    Linux下使用python腳本執(zhí)行BCP導入導出方式

    這篇文章主要介紹了Linux下使用python腳本執(zhí)行BCP導入導出方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 詳解python中的index函數(shù)用法

    詳解python中的index函數(shù)用法

    這篇文章主要介紹了詳解python中的index函數(shù)用法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • Windows環(huán)境打包python工程為可執(zhí)行程序的詳細過程

    Windows環(huán)境打包python工程為可執(zhí)行程序的詳細過程

    我的開發(fā)環(huán)境是windows7,然后系統(tǒng)是64位,安裝的python和wxpython都是32位的,本文記錄我怎樣用pyinstaller打包我用python開發(fā)的工程,在網(wǎng)上搜索了很多資源,基本上都是不全的,所以我在這兒記錄一下這個比較完整的過程,一起看看吧
    2024-01-01
  • 淺談機器學習需要的了解的十大算法

    淺談機器學習需要的了解的十大算法

    這篇文章主要介紹了淺談機器學習需要的了解的十大算法,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • Python語言進階知識點總結(jié)

    Python語言進階知識點總結(jié)

    在本文中我們給學習PYTHON的朋友們總結(jié)了關于進階知識點的全部內(nèi)容,希望我們整理的內(nèi)容能夠幫助到大家。
    2019-05-05

最新評論

邢台县| 类乌齐县| 泌阳县| 锦屏县| 石嘴山市| 温宿县| 繁昌县| 连南| 饶阳县| 青州市| 古蔺县| 永胜县| 登封市| 田林县| 东宁县| 慈溪市| 淄博市| 宝兴县| 沈丘县| 北海市| 五指山市| 鹤庆县| 南靖县| 余江县| 东乡族自治县| 九江县| 鹿泉市| 修水县| 涿鹿县| 江山市| 敦煌市| 阳春市| 安吉县| 龙南县| 彩票| 宁远县| 花莲市| 大关县| 连州市| 宁化县| 洛扎县|