目录
DataFrame中常见的方法:
基本数学操作
- df.count() #非空元素计算
- df.min() #最小值
- df.max() #最大值
- df.idxmin() #最小值的位置,类似于R中的which.min函数
- df.idxmax() #最大值的位置,类似于R中的which.max函数
- df.quantile(0.1) #10%分位数
- df.sum() #求和
- df.mean() #均值
- df.median() #中位数
- df.mode() #众数
- df.var() #方差
- df.std() #标准差
- df.mad() #平均绝对偏差
- df.skew() #偏度
- df.kurt() #峰度
- df.describe() #一次性输出多个描述性统计指标
较为复杂功能:分组统计
df.groupby(‘Person’).sum()
pandas.DataFrame.count
功能
计数
参数
1、轴:{0或’ index ‘, 1或’ columns ‘},默认为0
如果为每个列生成0或’ index ‘计数。如果为每一行生成1个或“列”计数。
2、级别:int或str,可选
如果轴是一个多索引(层次结构),则沿着特定的级别计数,折叠成一个dataframe。str指定级别名称。
3、numeric_only:布尔值,默认为False
只包含浮点数、int或boolean数据。
相关补充
- Series.count:一个数列中非na元素的个数。
- DataFrame.shape:dataframe行和列的数量(包括NA元素)。
- DataFrame.isna:布尔相同大小的dataframe显示NA元素的位置。
给出的例子
1、构建一个DataFrame
df = pd.DataFrame({“Person”:
… [“John”, “Myla”, “Lewis”, “John”, “Myla”],
… “Age”: [24., np.nan, 21., 33, 26],
… “Single”: [False, True, True, True, False]})
>>> df
Person Age Single
0 John 24.0 False
1 Myla NaN True
2 Lewis 21.0 True
3 John 33.0 True
4 Myla 26.0 False
2、统计NA
>>> df.count()
Person 5
Age 4
Single 5
dtype: int64
3、针对每一行,进行统计
df.count(axis=’columns’)
0 3
1 2
2 3
3 3
4 3
dtype: int64
注意:这里axis=’columns’表示按“列”操作,相当于axis=0;如果axis=1,对每一行进行操作
4、计算多索引的一个级别
>>> df.set_index([“Person”, “Single”]).count(level=”Person”)
Age
Person
John 2
Lewis 1
Myla 1
set_index相关补充
DataFrame可以通过set_index方法,可以使用现有列设置单索引和复合索引
DataFrame.set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False)
参数:
- keys:label or array-like or list of labels/arrays,这个是需要设置为索引的列名,可以是单个列名,或者是多个列名
- drop:bool, default True,删除要用作新索引的列
- append:bool, default False,添加新索引
- inplace:bool, default False,是否要覆盖数据集
- verify_integrity:bool, default False,检查新索引是否重复。否则,将检查推迟到必要时进行。设置为False将改善此方法的性能
注意:drop为False,inplace为True时,索引将会还原为列
官网例子:
df = pd.DataFrame({'month': [1, 4, 7, 10], 'year': [2012, 2014, 2013, 2014], 'sale': [55, 40, 84, 31]}) #设置单个列作为索引 df.set_index('month') ''' year sale month 1 2012 55 4 2014 40 7 2013 84 10 2014 31 ''' #设置复合索引 df.set_index(['year', 'month']) ''' sale year month 2012 1 55 2014 4 40 2013 7 84 2014 10 31 ''' #自定义索引和某列作为复合索引 df.set_index([pd.Index([1, 2, 3, 4]), 'year']) ''' month sale year 1 2012 1 55 2 2014 4 40 3 2013 7 84 4 2014 10 31 ''' #自定义索引 s = pd.Series([1, 2, 3, 4]) df.set_index([s, s**2]) ''' month year sale 1 1 1 2012 55 2 4 4 2014 40 3 9 7 2013 84 4 16 10 2014 31 '''
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/103239.html