# 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 | 对数据进行汇总统计 |