Python-pandas-DataFrame全部 功能 函數
提示:幫幫志會陸續更新非常多的IT技術知識,希望分享的內容對您有用。本章分享的是pandas的使用語法。前后每一小節的內容是存在的有:學習and理解的關聯性。【幫幫志系列文章】:每個知識點,都是寫出代碼和運行結果且前后關聯上的去分析和說明(能大量節約您的時間)。
所有文章都不會直接把代碼放那里,讓您自己去看去理解。我希望我的內容對您有用而努力~
python語法-pandas第三節-附 :本小節是 DataFrame全系列分享(使用.特點.說明.外部文件數據.取值.功能函數.統計函數)的DataFrame 全部 功能 函數
詳細的 DataFrame:
鏈接: DataFrame全系列分享(使用.特點.說明.語法.外部文件數據.取值.功能函數.統計函數.增刪改查)
【上榜文章】一文搞定DataFrame,非常詳細的Python-Pandas - DataFrame全系列分享。大量案例且晦澀難懂的有大白話解釋。詳細的擴展內容也額外寫了其他更加細節全面的文章鏈接在里面,來保證DataFrame的全部內容,本文就是其中一個擴展篇 : **功能函數篇**
文章目錄
- Python-pandas-DataFrame全部 *功能* 函數
- 一、功能函數附錄
- 二、示例代碼
- 總結
一、功能函數附錄
方法名稱 | 功能描述 |
---|---|
head(n) | 返回 DataFrame 的前 n 行數據(默認前 5 行) |
tail(n) | 返回 DataFrame 的后 n 行數據(默認后 5 行) |
info() | 顯示 DataFrame 的簡要信息,包括列名、數據類型、非空值數量等 |
describe() | 返回 DataFrame 數值列的統計信息,如均值、標準差、最小值等 |
shape | 返回 DataFrame 的行數和列數(行數, 列數) |
columns | 返回 DataFrame 的所有列名 |
index | 返回 DataFrame 的行索引 |
dtypes | 返回每一列的數值數據類型 |
sort_values(by) | 按照指定列排序 |
sort_index() | 按行索引排序 |
dropna() | 刪除含有缺失值(NaN)的行或列 |
fillna(value) | 用指定的值填充缺失值 |
isnull() | 判斷缺失值,返回一個布爾值 DataFrame |
notnull() | 判斷非缺失值,返回一個布爾值 DataFrame |
loc[] | 按標簽索引選擇數據 |
iloc[] | 按位置索引選擇數據 |
at[] | 訪問 DataFrame 中單個元素(比 loc[] 更高效) |
iat[] | 訪問 DataFrame 中單個元素(比 iloc[] 更高效) |
apply(func) | 對 DataFrame 或 Series 應用一個函數 |
applymap(func) | 對 DataFrame 的每個元素應用函數(僅對 DataFrame) |
groupby(by) | 分組操作,用于按某一列分組進行匯總統計 |
pivot_table() | 創建透視表 |
merge() | 合并多個 DataFrame(類似 SQL 的 JOIN 操作) |
concat() | 按行或按列連接多個 DataFrame |
to_csv() | 將 DataFrame 導出為 CSV 文件 |
to_excel() | 將 DataFrame 導出為 Excel 文件 |
to_json() | 將 DataFrame 導出為 JSON 格式 |
to_sql() | 將 DataFrame 導出為 SQL 數據庫 |
query() | 使用 SQL 風格的語法查詢 DataFrame |
duplicated() | 返回布爾值 DataFrame,指示每行是否是重復的 |
drop_duplicates() | 刪除重復的行 |
set_index() | 設置 DataFrame 的索引 |
reset_index() | 重置 DataFrame 的索引 |
transpose() | 轉置 DataFrame(行列交換) |
二、示例代碼
這里代碼直接開始演示分享功能函數的使用
(可能不會DataFrame的萌新小白,會看暈),如:DataFrame不同語法聲明,DataFrame取值或者交叉取值(增刪改查)。及DataFrame的特點和語法什么的,此篇文章就不寫了。因為不然就重復了。可以點擊文章開頭的那個鏈接去查看(那個鏈接的文章里面又往外擴了很多針對性的不同 更加細節文章[如本文]。來 幫助掌握理解DataFrame。)
import pandas as pd
# 創建 DataFrame
data = {'name': ['bangbangzhi', 'hello', 'python', 'what'],'age': [25, 30, 35, 40],'city': ['chengdu', 'beijing', 'shanghai', 'tianjin']
}
df = pd.DataFrame(data)# 查看前兩行數據
print(df.head(2)) #當前一共四行#tail(n) 后幾行,和這里很像
import pandas as pd
# 創建 DataFrame
data = {'name': ['bangbangzhi', 'hello', 'python', 'what'],'age': [25, 30, 35, 40],'city': ['chengdu', 'beijing', 'shanghai', 'tianjin']
}
df = pd.DataFrame(data)# 查看 DataFrame 的基本信息
print(df.info())# 獲取描述統計信息
print(df.describe())#shape 和上面兩個使用一樣,您輸出看一下就明白了(我篇幅太長了) 形狀就是 x*x 的表格,如2*3 2行3列
import pandas as pd
# 創建 DataFrame
data = {'name': ['bangbangzhi', 'hello', 'python', 'what'],'age': [25, 30, 35, 40],'city': ['chengdu', 'beijing', 'shanghai', 'tianjin']
}
df = pd.DataFrame(data)
#返回所有列名
print(df.columns)
#返回所有行索引
print(df.index)#dtypes 返回數據類型
import pandas as pd
# 創建 DataFrame
data = {'name': ['bangbangzhi', 'hello', 'python', 'what'],'age': [25, 30, 35, 40],'city': ['chengdu', 'beijing', 'shanghai', 'tianjin']
}
df = pd.DataFrame(data)
# 按年齡排序
df_sorted = df.sort_values(by='age', ascending=False)
print(df_sorted)#sort_index 行索引排序
#當前我沒有指定行索引(默認從0開始,目前代碼行索引排序沒意義)
#可以指定某列數據為行索引[時間日期] 指定聲明注意啥的。真的~查閱文章開頭那個文章,很全的,時間為行索引有案例。這里沒法寫
# 處理缺失值(填充缺失值)
df['age'] = df['age'].fillna(30)#如果age列某一行沒有數據,就用30來填充
#填充完畢:print(df) 可以看一下。如果有空的就補充上了30
常用,至于補充多少看需求。可能是0。因為一般數字列會使用統計函數,空值會影響結果的
(統計函數 [最大最小和值平均] 全部內容在另一個文章里面)
如:
# 計算分組統計(按城市分組,計算平均年齡)
print(df.groupby('city')['age'].mean())#大概一提:沒那么復雜,前半句.groupby('city')按城市分組。后半句['age'].mean()
#mean就是統計函數函數的知識點,然后配合了取值語法。
#對吧~ 這里可能感覺 我剛剛說:(可能不會DataFrame的萌新小白,會看暈),如:.....
==============================
后面的,全是重復的(和其他文章重復)
#取值
#loc[]
#iloc[] #concat()
#合并# 導出文件
#df.to_csv('output.csv', index=False)
真不是我偷懶,怎么可能偷懶
取值?我是寫了大量案例,放到全系列DataFrame里面的。全系列DataFrame文章也是從介紹到畫圖理解,到簡介語法,到xxxxx。最后到了取值,寫了大量取值。。。。最后額外單寫了一篇鏈接,在全系列DataFrame里面
。
看鏈接: DataFrame取值–.loc[]、.iloc[] 具體的操作及詳細語義和語法說明
然后
后面的函數,全部重復了。
全系列DataFrame是從0到全部。有分享邏輯順序,遇到報錯(甚至有專門報錯的額外篇),遇到xxx(有專門xxx的額外篇)
csv ,json , execl 導入導出 應有盡有
現在方法df.to_csv(‘output.csv’, index=False)演示沒有意義了。
看鏈接: 操作csv文件(讀取數據/寫入數據)及csv語法詳細分享
總結
如果哪個本文函數,找不到案例或者還是明白,可以評論。我改~改文章(加一段)
(會陸續更新非常多的IT技術知識及泛IT的電商知識,可以點個關注,共同交流。?( ′・?・` )比心)
(也歡迎評論,提問。 我會依次回答~)