python數據科學(四):pandas基礎—— 空數據、表格計算

處理空數據

複製

丟掉dropna()

dfkong=df1.dropna()

使用默認值替換

dfkong = df1.fillna(value=100)

判斷

pd.isnull(df1)
pd.isnull(df1).any()
pd.isnull(df1).any().any

空數據不參與計算
df1.mean()
df1.cumsum()

表格計算

表1.sub(表2,axis=‘index’)

累加

表.apply(np.cumsum)

最大值減最小值

表.apply(lambda x : x.max()-x.min())

def _sum(x):
print(type(x))
return x.sum()
print(df.apply(_sum))

每個數字有多少個

s.value_counts()

最多的數字多少

s.mode

插入

表1.append(表2,ignore_index=True)

分組

表.groupby(‘列’).sum()

融合

pd.merge(表1,表2,on=‘共同列’))

代碼

import pandas as pd
import numpy as np
import matplotlib.pyplot as plot

dates  = pd.date_range('20200209',periods = 6)
df  = pd.DataFrame(np.random.randn(6,4),index=dates,columns=list('abcd'))
print(df)

#重新索引
df1 = df.reindex(index=dates[0:4],columns=list(df.columns) + ['e'])

print(df1)

df1.loc[dates[1:3],'e'] = 2
print(df1)

#處理空數據

##複製
# ##丟掉dropna()

dfkong=df1.dropna()
print('處理空數據')
print(dfkong)

##使用默認值替換
dfkong = df1.fillna(value=100)
print(dfkong)

## 判斷
print(pd.isnull(df1))
print(pd.isnull(df1).any())
print(pd.isnull(df1).any().any)

##空數據不參與計算
print(df1.mean())
print(df1.cumsum())


#表格運算
## 減
df  = pd.DataFrame(np.random.randn(6,4),index=dates,columns=list('abcd'))
s = pd.Series([1,2,3,np.nan,5,6],index=dates).shift(2)
print('表格運算')
print('減')
print(df)
print(s)

a = df.sub(s,axis='index')
print(a)

##累加
b = df.apply(np.cumsum)
print('累加')
print(b)

c = df.apply(lambda x : x.max()-x.min())
print(c)

def _sum(x):
    print(type(x))
    return x.sum()
print(df.apply(_sum))


##每個數字有多少個
s = pd.Series([1,2,3,1,np.NaN])
print('每個數字有多少個')
print(s.value_counts())
##最多的數字多少
print('最多的數字多少')
print(s.mode)

#插入
df2=df.append(s,ignore_index=True)
print('插入')
print(df2)

#分組
df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar',
                          'foo', 'bar', 'foo', 'foo'],
                   'B' : ['one', 'one', 'two', 'three',
                           'two', 'two', 'one', 'three'],
                   'C' : np.random.randn(8),
                   'D' : np.random.randn(8)})
aa= df.groupby('A').sum()
print('分組')
print(aa)

#融合
a = pd.DataFrame({'aa':['1','2'],'bb':['22','33']})
b= pd.DataFrame({'aa':['1','2'],'bb':['55','33']})
print('融合')
print(pd.merge(a,b,on='aa'))

處理空數據

在這裏插入圖片描述
在這裏插入圖片描述
表格運算
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
融合
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章