pandas

讀取html

pandas.read_csv()

 

形狀python

print df1.describe()
print df1.shape
print df1.columns
print df1.index

 

篩選列函數

df1[['playerID','nameFirst','nameLast','HR']]

篩選行spa

df1[(df1['AB']>=500)&(df1['yearID']==1977)]

分組.net

df1.groupby(['nameFirst','nameLast'])

 

簡單聚合:code

df1.groupby(['playerID']).count()

相似的還有min() max() sum() median() mean() quantile() var() std()htm

 

agg聚合:blog

求和聚合(若是想保留其餘列,則形如:'nameFirst':'first','nameLast':'first' )排序

df1.groupby(['playerID']).agg({'HR':'sum','nameFirst':'first','nameLast':'first'})

最大值聚合(若是想保留其餘列,則需使用merge)索引

df9=df1.groupby('yearID').agg({'H':'max'})
df9=pd.merge(df9,df1,on=['yearID','H'],how='left')

 

排序:

df1.sort_values('SB',ascending=False)

 

選取某一列最大值所在的行:

df1.loc[df1[['HR']].idxmax(),:]

注意是loc,若是是最小值就是idxmin()

若是有多個最大值要都選出來,則須要用鏈接merge()

https://blog.csdn.net/oYeZhou/article/details/82378160

 

左外鏈接:(鏈接後行數與左表df9相同)

df9=pd.merge(df9,df1,on=['yearID','H'],how='left')

右外鏈接則how='right'

 

將索引轉換爲列數據:

groupby和agg以後獲得的dataframe的索引咱們一般須要將其轉爲列數據:

df2=df1.groupby(['playerID','yearID']).agg({'HR':'sum','nameFirst':'first','nameLast':'first'}).reset_index()

 

求dataframe中某一列的無重複長度(轉爲set)

len(set(df2['playerID']))

 

python list 求出現次數最多的元素及其出現次數(衆數)

#python list求衆數
def cal_mode(mylist):
    #兩種特殊狀況
    if len(mylist)==0:
        return [None,0]
    elif len(mylist)==1:
        return [mylist[0],1]
    
    #4個臨時變量
    temp_elem=mylist[0]
    max_elem=temp_elem
    temp_num=1
    max_num=temp_num
    
    #從1開始
    for i in range(1,len(mylist)):
        if mylist[i]==temp_elem:
            temp_num+=1
        else:
            if max_num<temp_num:
                max_num=temp_num
                max_elem=temp_elem
            temp_num=1
            temp_elem=mylist[i]
    #最後收尾
    if max_num<temp_num:
        max_num=temp_num
        max_elem=temp_elem
    return [max_elem,max_num]

 

排序:

mylist.sort() 直接改變mylist,返回值爲空

sorted(mylist) 不改變mylist,返回值爲結果

sort()不能對字典排序,sorted()能夠

sort()和sorted()都支持傳入一個函數進行來自定義比較

參考

https://www.cnblogs.com/JahanGu/p/7650109.html

 

遍歷行:參考:https://blog.csdn.net/ls13552912394/article/details/79349809

for index, row in df.iterrows():
    print row["c1"], row["c2"]
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息