# range()打出来的相当于是数列,arange()打出来的相当于是数组 obj_one=pd.Series(range(10,13),index=range(3)) print(obj_one) obj_two=pd.Series(range(10,15),index=range(5)) print(obj_two) # 两数相加,没有对应值的话结果就会是NaN obj_one+obj_two # 使用add(),可以确定填充值,这里填充值是加在obj_one上面 obj_one.add(obj_two,fill_value=1) # -------------------------------下面是输出结果-------------------------------- 0 10 1 11 2 12 dtype: int64 --------------------------------- 0 10 1 11 2 12 3 13 4 14 dtype: int64 --------------------------------- 0 20.0 1 22.0 2 24.0 3 14.0 4 15.0 dtype: float64
数据的排序(按索引排序和按值排序)
下面是按索引排序
# 按索引排序 #sort_index(axis=0,level=None,ascending=True,inplace=False,kind='quicksort',na_position='last',sort_remainin#g=True) # level:若不为None,则对指定索引级别的值进行排序 # ascending:是否升序排序 # inplace:默认为False,表示对数据进行排序,不代替原有数据 # kind:默认为False,表示对数据表进行排序 # na_position:表示把空值放到最后面 # Series对象的值索引 ser_obj=pd.Series(range(5),index=[5,3,2,1,4]) print(ser_obj) # 按索引值排序 print(ser_obj.sort_index()) # 按索引降序排列 ser_obj.sort_index(ascending=False) # -----------------------------------下面是输出结果----------------------------------- 5 0 3 1 2 2 1 3 4 4 dtype: int64 ----------------------------- 1 3 2 2 3 1 4 4 5 0 dtype: int64 ----------------------------- 5 0 4 4 3 1 2 2 1 3 dtype: int64
下面是按值排序
# pandas中数据排序的方法是sort_values() # sort_values(by,axis=0,ascending=True,inplace=False,kind='quicksort',na_position='last') # by表示排序的列 # na_position只有两个值first和last,first表示空值放在前面,last表示空值放在后面 # ascending指是否按指定列进行升序排序 # inplace表示是否用排序后的数据集替换原有数据 # 以上参数均为默认参数 # 创建一个Series对象 obj_three=pd.Series([0.4,np.nan,0.5,np.nan]) print(obj_three) # 对该数组进行排序 print(obj_three.sort_values()) # 创建一个DataFrame对象 obj_four=pd.DataFrame([[0.1,0.4,0.2,0.5], [0.6,-0.5,0.6,0.2], [0.2,0.3,0.4,0.5], [-0.9,0.8,-.9,1.0]]) print(obj_four) # 对obj_four进行排序(按第三列进行排序) obj_four.sort_values(by=3) # ---------------------------------下面是输出结果--------------------------------- 0 0.4 1 NaN 2 0.5 3 NaN dtype: float64 ---------------------------------- 0 0.4 2 0.5 1 NaN 3 NaN dtype: float64 ---------------------------------- 0 1 2 3 0 0.1 0.4 0.2 0.5 1 0.6 -0.5 0.6 0.2 2 0.2 0.3 0.4 0.5 3 -0.9 0.8 -0.9 1.0 0 1 2 3 1 0.6 -0.5 0.6 0.2 0 0.1 0.4 0.2 0.5 2 0.2 0.3 0.4 0.5 3 -0.9 0.8 -0.9 1.0
统计计算与描述
data_1 = pd.DataFrame(np.arange(12).reshape(3,4),columns=['a','b','c','d']) data_1 # --------------------------下面是输出结果---------------------------- a b c d 0 0 1 2 3 1 4 5 6 7 2 8 9 10 11 # 默认按0轴进行相加 data_1.sum() # 默认按0轴进行找最大值 data_1.max() # 按1轴找最小值 data_1.min(axis=1) # 输出多个统计指标 data_1.describe() # -----------------------------下面是输出结果----------------------------- a 12 b 15 c 18 d 21 dtype: int64 -------------------------------- a 8 b 9 c 10 d 11 dtype: int32 --------------------------------- 0 0 1 4 2 8 dtype: int32 --------------------------------- a b c d count 3.0 3.0 3.0 3.0 mean 4.0 5.0 6.0 7.0 std 4.0 4.0 4.0 4.0 min 0.0 1.0 2.0 3.0 25% 2.0 3.0 4.0 5.0 50% 4.0 5.0 6.0 7.0 75% 6.0 7.0 8.0 9.0 max 8.0 9.0 10.0 11.0
常用的统计函数
函数名称 | 说明 |
---|---|
sum | 计算和 |
mean | 计算均值 |
median | 计算中位数 |
max,min | 计算最大值,最小值 |
idxmax,idxmin | 获取索引最大值和最小值 |
count | 计算非空值的个数 |
head | 获取前N个值 |
var | 计算样本方差 |
std | 计算标准差 |
describe | 对数据进行汇总统计 |