目錄
替換操作可以同步作用於series和dataframe中示例:
transform應用示例1:
# 錯誤示例:
def abc(s):
return s
df.groupby(by='item')['price'].abc() # abc不是series物件的方法
# 正確使用:
df.groupby(by='item')['price'].transform(abc) #通過transform可以實現
transform應用示例2:自定義乙個求均值的函式,作用到分組結果中
def my_mean(s):
sum = 0
for i in s:
sum+=i
return sum/s.size
df.groupby(by='item')['price'].transform(my_mean)
def my_mean(s):
sum = 0
for i in s:
sum+=i
return sum/s.size
透視表的引數:
pivot_table有四個最重要的引數index、values、columns、aggfunc
index引數:分類彙總的分類條件
values引數:需要對計算的資料進行篩選
aggfunc引數:設定我們對資料聚合時進行的函式操作,當我們未設定aggfunc引數:預設aggfunc='mean'計算均值
columns引數:可以設定列層次字段,對values欄位進行分類
示例:分析nba球星的比賽資料
將資料讀取出來
import pandas as pd
import numpy as np
df = pd.read_csv('./data/basketball_game.csv')
df.head()
1.檢視harden對陣過球隊的比賽資料
df.pivot_table(index='對手') # 預設分類彙總使用的聚合函式是mean
2.對陣同一對手在不同主客場下的資料,分類條件為對手和主客場
df.pivot_table(index=['對手','主客場'])
3.只需要harden在主客場和不同勝負情況下的得分、籃板與助攻三項資料
df.pivot_table(index=['主客場','勝負'],values=['得分','籃板','助攻'])
# values引數的使用
4.獲取harden在主客場和不同勝負情況下的總得分、總籃板、總助攻數
df.pivot_table(index=['主客場','勝負'],values=['得分','籃板','助攻'],aggfunc='sum')
# aggfunc引數的使用
5.獲取harden在主客場和不同勝負情況下的平均得分、總籃板、最小助攻數
df.pivot_table(index=['主客場','勝負'],aggfunc=)
6.獲取所有隊主客場的總得分
df.pivot_table(index='主客場',values='得分',aggfunc='sum')
7.獲取每個隊主客場的總得分(在總得分的基礎上又進行了對手的分類)
df.pivot_table(index='主客場',values='得分',aggfunc='sum',columns='對手').fillna(value=0)
# columns引數的使用
資料分析 pandas
pandas是乙個強大的python資料分析的工具包,它是基於numpy構建的,正因pandas的出現,讓python語言也成為使用最廣泛而且強大的資料分析環境之一。pandas的主要功能 具備對其功能的資料結構dataframe,series 整合時間序列功能 提供豐富的數 算和操作 靈活處理缺失...
python資料分析 Pandas
import pandas as pd series 可以看做乙個定長的有序字典。基本任意的一維資料都可以用來構造 series 物件 s pd.series 1,2,3.0,abc s1 pd.series data 1,3,5,7 index a b x y 通過下標獲取資料 s1 a seri...
資料分析之Pandas
from pandas import series,dataframe import pandas as pd import numpy as np states california ohio oregon texas year 2000,2001,2002,2003 value 35000,71...