自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

十個(gè)案例快速入門(mén) Pandas

開(kāi)發(fā)
通過(guò)以下十個(gè)案例的實(shí)踐演練,可以掌握Pandas的核心數(shù)據(jù)處理功能。建議使用Jupyter Notebook進(jìn)行分步調(diào)試,結(jié)合.shape和.head()方法隨時(shí)驗(yàn)證操作結(jié)果。?

本文通過(guò)十個(gè)常用的案例介紹,讓大家盡可能最快的熟悉pandas的使用,本文的十個(gè)案例包含詳細(xì)的代碼和注釋,涵蓋了pandas常用的一些使用場(chǎng)景。

環(huán)境要求:Python 3.8+,安裝Pandas庫(kù)

pip install pandas

示例1:創(chuàng)建/讀取數(shù)據(jù)

import pandas as pd

# 創(chuàng)建示例數(shù)據(jù)(字典格式)
data = {
    '姓名': ['張三', '李四', '王五', '趙六'],
    '年齡': [25, 30, 28, 35],
    '城市': ['北京', '上海', '廣州', '深圳'],
    '得分': [85.5, 90.0, 78.5, 92.3]
}
df = pd.DataFrame(data)  # 將字典轉(zhuǎn)換為DataFrame

# 讀取外部文件(注:需要文件路徑)
# df = pd.read_csv('data.csv')  # 讀取CSV
# df = pd.read_excel('data.xlsx')  # 讀取Excel

print("數(shù)據(jù)集:")
print(df)

示例2:查看數(shù)據(jù)基本信息

# 顯示前3行數(shù)據(jù)
print(df.head(3))  # 默認(rèn)顯示5行

# 顯示維度信息
print("數(shù)據(jù)維度(行數(shù),列數(shù)):", df.shape)

# 顯示各字段數(shù)據(jù)類型
print("數(shù)據(jù)類型:\n", df.dtypes)

# 顯示統(tǒng)計(jì)摘要(僅數(shù)值列)
print("統(tǒng)計(jì)摘要:\n", df.describe())

示例3:數(shù)據(jù)篩選

# 篩選特定列
name_score = df[['姓名', '得分']]  # 雙括號(hào)返回DataFrame

# 按行篩選(年齡大于28)
age_filter = df[df['年齡'] > 28]  # 布爾篩選

# 多條件篩選(年齡>25且城市為北京)
complex_filter = df[(df['年齡'] > 25) & (df['城市'] == '北京')]

# 使用isin進(jìn)行篩選
city_filter = df[df['城市'].isin(['北京', '廣州'])]

示例4:處理缺失值

# 生成含缺失值的數(shù)據(jù)
import numpy as np
data_with_nan = {
    'A': [1, np.nan, 3],
    'B': [4, 5, np.nan]
}
nan_df = pd.DataFrame(data_with_nan)

# 刪除包含缺失值的行
clean_df = nan_df.dropna()  # 默認(rèn)axis=0:刪除行

# 填充缺失值
filled_df = nan_df.fillna(0)  # 用0填充
filled_mean = nan_df.fillna(nan_df.mean())  # 使用列均值填充

示例5:數(shù)據(jù)排序

# 按年齡升序排列
sorted_age = df.sort_values('年齡')  # ascending=True默認(rèn)升序

# 多重排序(先按得分降序,再按年齡升序)
multi_sorted = df.sort_values(['得分', '年齡'], ascending=[False, True])

示例6:數(shù)據(jù)分組聚合

# 按城市分組計(jì)算平均年齡
grouped = df.groupby('城市')['年齡'].mean()

# 多維度聚合(同時(shí)計(jì)算年齡均值和得分總和)
agg_result = df.groupby('城市').agg({
    '年齡': 'mean',
    '得分': 'sum'
})

示例7:數(shù)據(jù)合并

# 創(chuàng)建新數(shù)據(jù)集
new_data = {
    '姓名': ['錢七', '孫八'],
    '年齡': [29, 31],
    '城市': ['杭州', '成都'],
    '得分': [88.0, 84.5]
}
df_new = pd.DataFrame(new_data)

# 縱向合并(追加記錄)
combined = pd.concat([df, df_new], axis=0)  # axis=0縱向合并

# 橫向合并(需共同字段)
other_info = pd.DataFrame({
    '姓名': ['張三', '李四'],
    '部門(mén)': ['技術(shù)部', '市場(chǎng)部']
})
merged = pd.merge(df, other_info, on='姓名')

示例8:時(shí)間序列處理

# 創(chuàng)建時(shí)間序列數(shù)據(jù)
date_rng = pd.date_range(start='2023-01-01', periods=5, freq='D')
time_df = pd.DataFrame({
    'date': date_rng,
    'value': [100, 115, 95, 110, 120]
})

# 設(shè)置日期索引
time_df.set_index('date', inplace=True)

# 重采樣(按周計(jì)算均值)
weekly_mean = time_df.resample('W').mean()

示例9:應(yīng)用函數(shù)轉(zhuǎn)換

# 定義年齡分段函數(shù)
def age_group(age):
    if age < 30:
        return'青年'
    elif age < 40:
        return'中年'
    else:
        return'資深'

# 添加新列
df['年齡段'] = df['年齡'].apply(age_group)

# 使用lambda表達(dá)式轉(zhuǎn)換得分
df['得分等級(jí)'] = df['得分'].apply(lambda x: '優(yōu)'if x >=90else'良')

示例10:保存處理結(jié)果

# 保存為CSV文件(不要保存索引)
df.to_csv('processed_data.csv', index=False)

# 保存為Excel文件
df.to_excel('processed_data.xlsx', index=False)

# 保存為JSON格式
df.to_json('processed_data.json', orient='records')

注意事項(xiàng)

  • 文件操作時(shí)注意路徑的正確性。
  • 使用inplace=True參數(shù)時(shí)操作會(huì)直接修改原數(shù)據(jù)。
  • 合并數(shù)據(jù)時(shí)注意索引對(duì)齊問(wèn)題。
  • 分組操作后需使用聚合函數(shù)才能輸出有意義結(jié)果。

通過(guò)這10個(gè)案例的實(shí)踐演練,可以掌握Pandas的核心數(shù)據(jù)處理功能。建議使用Jupyter Notebook進(jìn)行分步調(diào)試,結(jié)合.shape和.head()方法隨時(shí)驗(yàn)證操作結(jié)果。

責(zé)任編輯:趙寧寧 來(lái)源: Python數(shù)智工坊
相關(guān)推薦

2025-04-24 10:20:00

2025-04-01 08:30:00

Plotly數(shù)據(jù)可視化數(shù)據(jù)分析

2022-08-26 09:38:39

Pandas數(shù)據(jù)查詢

2014-08-08 14:37:07

2024-05-13 11:43:39

Python數(shù)據(jù)分析CSV

2023-03-24 16:41:36

Pandas技巧數(shù)據(jù)處理

2019-02-01 10:05:33

開(kāi)源游戲開(kāi)發(fā)游戲引擎

2022-10-19 15:20:58

pandas數(shù)據(jù)處理庫(kù)技巧

2022-03-21 10:38:00

開(kāi)發(fā)數(shù)據(jù)庫(kù)SQL

2017-07-26 16:15:17

Python案例入門(mén)級(jí)

2010-12-06 09:49:28

Linux快速啟動(dòng)

2025-04-14 08:40:00

Python正則表達(dá)式re 庫(kù)

2025-04-16 08:10:00

PandasPython數(shù)據(jù)分析

2024-01-16 12:19:08

MySQL重要機(jī)制高并發(fā)

2010-08-13 08:50:35

2023-10-11 12:39:43

PyGWalker是開(kāi)源

2023-11-19 20:16:43

RESTAPIPOST

2011-06-08 10:11:25

JavaScript

2021-11-04 09:10:22

CSS 技巧代碼重構(gòu)

2024-01-18 11:39:42

供應(yīng)鏈數(shù)字化轉(zhuǎn)型企業(yè)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)