import pandas as pd
import numpy as np
df = pd.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'])
print(df)
#按列求和
print(df.sum()) #列的和
'''
one 9.25
teo -5.80
dtype: float64
'''
#按行求和
print(df.sum(axis=1))
'''
a 1.40
b 2.60
c 0.00 都是nan就是0.00
d -0.55
dtype: float64
'''
print(df.sum(axis=1,skipna=False)) #skipna 排除缺失值, 默认为True
'''
a NaN
b 2.60
c NaN
d -0.55
dtype: float64
'''
print(df.idxmax()) #最大值的行索引
print(df.cumsum()) #每一行累计求和
print(df.describe())
s1 = pd.Series(['a','b','c','d']*4)
# print(s1)
print(s1.describe())
'''
count 16
unique 4
top a #第一个出现的值
freq 4 #最高频次
dtype: object
'''
'''
include:
all 结果将包括所有列
None 结果将包括所有数字列
dtype 结果限制为提供的数据类型,例如number、object类型
'''
b2 = pd.DataFrame([[1,'a',np.nan],
[2,'b',4],
[3,'c',9],
[2,'d',np.nan]],index=list('abcd'),columns=list('MNK'))
print(b2)
print(b2.describe()) # 默认统计数字列
print(b2.describe(include='all')) # 统计所有列(可以有任何数据类型)
print(b2.describe(include=None)) # 统计所有数字列
print(b2.describe(include='number')) # 指定统计number类型(数字列)的列
print(b2.describe(include='O')) # 指定统计含object类型的列
# exclude:指定要省略的数据类型,默认为None
b3 = pd.DataFrame([[1,'a',np.nan],
[2,'b','t'],
[4,'c',9],
[2,'d',np.nan]],index=list('abcd'),columns=list('MNK'))
print(b3)
print(b3.describe()) # 默认统计数字列
print(b3.describe(exclude=None))
print(b3.describe(exclude="number")) # 不统计整列都是数字的列
Pandas之统计计算
于 2024-10-17 15:24:05 首次发布