pandas知识点(汇总和计算描述统计)

调用DataFrame的sum方法会返还一个含有列的Series:
In [5]: df = DataFrame([[1.4,np.nan],[7.1,-4.5],[np.nan,np.nan],[0.75,-1.3]],index=["a","b","c","d"],columns=["one","two"])
In [6]: df
Out[6]:
    one  two
a  1.40  NaN
b  7.10 -4.5
c   NaN  NaN
d  0.75 -1.3
In [8]: df.sum()
Out[8]:
one    9.25
two   -5.80
dtype: float64
按行进行求和运算:
In [9]: df.sum(axis=1)
Out[9]:
a    1.40
b    2.60
c    0.00
d   -0.55
dtype: float64
NA值会自动被排除,除非整个切片都是NA或skipna为false:
In [10]: df.mean(axis=1,skipna=False)
Out[10]:
a      NaN
b    1.300
c      NaN
d   -0.275
dtype: float64
idxmax,idxmin返回间接统计:
In [12]: df.idxmax()
Out[12]:
one    b
two    d
dtype: object
累计型方法:
In [13]: df.cumsum()
Out[13]:
    one  two
a  1.40  NaN
b  8.50 -4.5
c   NaN  NaN
d  9.25 -5.8
describe可以一次产生多个汇总统计:
In [14]: df.describe()
Out[14]:
            one       two
count  3.000000  2.000000
mean   3.083333 -2.900000
std    3.493685  2.262742
min    0.750000 -4.500000
25%    1.075000 -3.700000
50%    1.400000 -2.900000
75%    4.250000 -2.100000
max    7.100000 -1.300000
1.相关系数和协方差:
Series的corr方法用于计算两个Series中重叠
cov用于计算协方差
DataFrame的corrwith方法,可以计算其列或行跟另一个Series或DataFrame之间的相关系数。
 
2.唯一值、值计数以及成员资格
unique可以得到Series中的唯一值数组:
In [4]: obj = Series(['c','a','d','a','a','b','b','c','c'])
In [5]: obj.unique()
Out[5]: array(['c', 'a', 'd', 'b'], dtype=object)
value_counts用于计算各值出现的频率,结果降序排列:
In [6]: obj.value_counts()
Out[6]:
a    3
c    3
b    2
d    1
dtype: int64
value_counts也是pandas的一个方法:
In [9]: pd.value_counts(obj.values, sort=True)
Out[9]:
a    3
c    3
b    2
d    1
dtype: int64
isin可以判断矢量化集合的成员资格
In [11]: mask = obj.isin(['b','c'])
In [12]: mask
Out[12]:
0     True
1    False
2    False
3    False
4    False
5     True
6     True
7     True
8     True
dtype: bool
In [13]: obj[mask]
Out[13]:
0    c
5    b
6    b
7    c
8    c
dtype: object

猜你喜欢

转载自www.cnblogs.com/l471151015/p/10106864.html