pandas——数值运算操作

数值运算操作

import pandas as pd

可自己传入数据,指定索引名和属性名

data = pd.DataFrame([[1, 2, 3], [4, 5, 6]], index=['a', 'b'], columns=['A', 'B', 'C'])
data
ABC
a123
b456
data.sum()  # 默认在每个属性上求和
A    5
B    7
C    9
dtype: int64
data.sum(axis=1)  # 为每行样本求和
a     6
b    15
dtype: int64
data.mean()    # 默认在属性上求均值 ,也可以指定axis
A    2.5
B    3.5
C    4.5
dtype: float64
data.mean(axis=1)
a    2.0
b    5.0
dtype: float64

同样的还有:.max() .min() .median() 分别求最大值 最小值 中位数 都可以指定 axis

二元统计
df = pd.read_csv('../../datasets/titanic/test.csv') 
df.head(5)
PassengerIdPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
08923Kelly, Mr. Jamesmale34.5003309117.8292NaNQ
18933Wilkes, Mrs. James (Ellen Needs)female47.0103632727.0000NaNS
28942Myles, Mr. Thomas Francismale62.0002402769.6875NaNQ
38953Wirz, Mr. Albertmale27.0003151548.6625NaNS
48963Hirvonen, Mrs. Alexander (Helga E Lindqvist)female22.011310129812.2875NaNS
df.dtypes
PassengerId      int64
Pclass           int64
Name            object
Sex             object
Age            float64
SibSp            int64
Parch            int64
Ticket          object
Fare           float64
Cabin           object
Embarked        object
dtype: object
.cov()方法计算两两属性间的协方差 .corr() 方法计算属性间的相关系数
df.cov()
PassengerIdPclassAgeSibSpParchFare
PassengerId14595.166667-2.720624-59.3690470.4136695.10791455.514238
Pclass-2.7206240.708690-5.9063580.0008200.015467-27.171232
Age-59.369047-5.906358201.106695-1.135270-0.704115291.838610
SibSp0.4136690.000820-1.1352700.8041780.2701008.607981
Parch5.1079140.015467-0.7041150.2701000.96320312.635175
Fare55.514238-27.171232291.8386108.60798112.6351753125.657074
df.corr()
PassengerIdPclassAgeSibSpParchFare
PassengerId1.000000-0.026751-0.0341020.0038180.0430800.008211
Pclass-0.0267511.000000-0.4921430.0010870.018721-0.577147
Age-0.034102-0.4921431.000000-0.091587-0.0612490.337932
SibSp0.0038180.001087-0.0915871.0000000.3068950.171539
Parch0.0430800.018721-0.0612490.3068951.0000000.230046
Fare0.008211-0.5771470.3379320.1715390.2300461.000000
统计 某个 属性各个值的个数
df['Age'].value_counts(ascending=True)   
34.5     1
76.0     1
26.5     1
60.5     1
7.0      1
        ..
18.0    13
30.0    15
22.0    16
21.0    17
24.0    17
Name: Age, Length: 79, dtype: int64
df['Age'].value_counts(ascending=True, bins=5)   # bins 表示将筛选出的数据分成多少个区间进行统计
(60.834, 76.0]       10
(0.0932, 15.336]     32
(45.668, 60.834]     42
(30.502, 45.668]     80
(15.336, 30.502]    168
Name: Age, dtype: int64
df['Age'].count()   # 统计该列 不为空值的 数据有多少个
332

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值