import numpy as np
import pandas as pd
from pandas import Series,DataFrame
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
首先建立兩個series,s1和s2
s1=Series([1,2,3],index=['A','B','C'])
s1
A 1
B 2
C 3
dtype: int64
s1=Series([1,2,3],index=['A','B','C'])
s1
A 1
B 2
C 3
dtype: int64
s2=Series([4,5,6,7],index=['B','C','D','E'])
s2
B 4
C 5
D 6
E 7
dtype: int64
獲取s1+s2的運算結果
其中A在s2裏面爲NaN,D和E在s1裏面爲NaN,NaN和任何數相加爲NaN
s1 + s2
A NaN
B 6.0
C 8.0
D NaN
E NaN
dtype: float64
先建立兩個DataFrame
第一個DataFrame爲2*2的
df1=DataFrame(np.arange(4).reshape(2,2),index=['A','B'],columns=['BJ','SH'])
df1
BJ SH
----------
A 0 1
B 2 3
第二個DataFrame爲3*3的
df2=DataFrame(np.arange(9).reshape(3,3),index=['A','B','C'],columns=['BJ','SH','GZ'])
df2
BJ SH GZ
-------------
A 0 1 2
B 3 4 5
C 6 7 8
獲取df1+df2的運算結果
加法規則與Sereies類似,df1相對於df2沒有值的地方作爲NaN參與運算,結果也爲NaN。
BJ SH GZ
------------------
A 0.0 NaN 2.0
B 5.0 NaN 7.0
C NaN NaN NaN
建立一個新的DataFrame
df3=DataFrame([[1,2,3],[4,5,np.nan],[7,8,9]],index=['A','B','C'],columns=['c1','c2','c3'])
df3
c1 c2 c3
------------------
A 1 2 3.0
B 4 5 NaN
C 7 8 9.0
sum運算返回一個Series,忽略NaN的值,得出每一列的和
df3.sum()
c1 12.0
c2 15.0
c3 12.0
dtype: float64
如下可以獲取每一行的求和
df3.sum(axis=1)
A 6.0
B 9.0
C 24.0
dtype: float64
min求每一列的最小值,如果求行的min傳入axis=1
df3.min()
c1 1.0
c2 2.0
c3 3.0
dtype: float64
max求每一列的最大值,如果求行的max傳入axis=1
df3.max()
c1 7.0
c2 8.0
c3 9.0
dtype: float64
describe會返回一些以列爲基礎的統計的數據,count代表數據個數,mean代表平均值,std代表標準差,min代表最小值,max代表最大值,以及百分比數據。
df3.describe()
c1 c2 c3
-------------------------
count 3.0 3.0 2.000000
mean 4.0 5.0 6.000000
std 3.0 3.0 4.242641
min 1.0 2.0 3.000000
25% 2.5 3.5 4.500000
50% 4.0 5.0 6.000000
75% 5.5 6.5 7.500000
max 7.0 8.0 9.000000