python pandas 条件求和_python pandas行、列求和及累加求和

python pandas行、列求和及累加求和

data[‘合计’]=data.apply(lambda x: x.sum(),axis=1) #按列相加各行数

data.loc[‘小计’]=data.apply(lambda x: x.sum(),axis=0) #按行相加各列,增加小计,

要注意的是小计中变成字符,序列变object

要时刻关注data.中type的变化,可以用

data.dtypes

显示各列的type,可以用

data.astype(float) 转化,注意转化时,有时会出错

chengji=[[100,95,100,99],[90,98,99,100],[88,95,98,88],[99,98,97,87],[96.5,90,96,85],[94,94,93,91]]

data=pd.DataFrame(chengji,columns=['语文','类别','数学','政治'])

data['合计']=data.apply(lambda x: x.sum(),axis=1) #按列相加各行数

print('合计',data)

data.loc['小计']=data.apply(lambda x: x.sum(),axis=0) #按行相加各列,增加小计,是字符,序列变object

print('小计',data)

data['累加值']=0

data.drop('小计',inplace=True)

print('删除小计',data)

data.sort_index(inplace=True)

print('重排序列',data)

data.astype(float)

data['累加值']=data['合计'].cumsum()

print('累计data',data)

data.sort_values(by=['合计','语文'] , ascending=[False,False],inplace=True) #按多列值排序,ascending=False降序

#data.sort_values(by='语文',axis=1,ascending=True, inplace=True, na_position='last')

#重建索引会把原索引值变成object

data['排名']=data['合计'].rank(ascending=0,method='min')

print (data)

data.sort_index(inplace=True)

print(data)

data = data.reset_index(drop=True)

data.loc[1:3,'语文']=""

data.loc[4,'语文']=None #空值为none 或np.nan

print(data)

print(data.dtypes)

data.fillna(value=0,inplace=True)

# "所有值全为缺失值才删除 df.dropna(how='all')

# axis:维度,axis=0表示index行,axis=1表示columns列,默认为0

#how:"all"表示这一行或列中的元素全部缺失(为nan)才删除这一行或列,"any"表示这一行或列中只要有元素缺失,就删除这一行或列

#thresh:一行或一列中至少出现了thresh个才删除。

#subset:在某些列的子集中选择出现了缺失值的列删除,不在子集中的含有缺失值得列或行不会删除(有axis决定是行还是列)

#inplace:刷选过缺失值得新数据是存为副本还是直接在原数据上进行修改。

print('填充缺失值',data)

data.replace("",0,inplace=True)

print('填充空值',data)

print(data.loc[data.index==1,'累加值'])

print('类别数量',data['类别'])

print('类别=95',data.loc[data['类别']==95,'累加值'])

print(data.loc[:,'合计']-data.loc[:,'语文'])

先排序后,可以进行累加值,累加的列一定要存在,可以用data[‘累加值’]=0 建一个值为0的列。

用data[‘累加值’]=data[‘合计’].cumsum() 把合计的值累加,一定要注意,是按照排列的顺序相加。

合计 语文 类别 数学 政治 合计

0 100.0 95 100 99 394.0

1 90.0 98 99 100 387.0

2 88.0 95 98 88 369.0

3 99.0 98 97 87 381.0

4 96.5 90 96 85 367.5

5 94.0 94 93 91 372.0

小计 语文 类别 数学 政治 合计

0 100.0 95.0 100.0 99.0 394.0

1 90.0 98.0 99.0 100.0 387.0

2 88.0 95.0 98.0 88.0 369.0

3 99.0 98.0 97.0 87.0 381.0

4 96.5 90.0 96.0 85.0 367.5

5 94.0 94.0 93.0 91.0 372.0

小计 567.5 570.0 583.0 550.0 2270.5

删除小计 语文 类别 数学 政治 合计 累加值

0 100.0 95.0 100.0 99.0 394.0 0

1 90.0 98.0 99.0 100.0 387.0 0

2 88.0 95.0 98.0 88.0 369.0 0

3 99.0 98.0 97.0 87.0 381.0 0

4 96.5 90.0 96.0 85.0 367.5 0

5 94.0 94.0 93.0 91.0 372.0 0

重排序列 语文 类别 数学 政治 合计 累加值

0 100.0 95.0 100.0 99.0 394.0 0

1 90.0 98.0 99.0 100.0 387.0 0

2 88.0 95.0 98.0 88.0 369.0 0

3 99.0 98.0 97.0 87.0 381.0 0

4 96.5 90.0 96.0 85.0 367.5 0

5 94.0 94.0 93.0 91.0 372.0 0

累计data 语文 类别 数学 政治 合计 累加值

0 100.0 95.0 100.0 99.0 394.0 394.0

1 90.0 98.0 99.0 100.0 387.0 781.0

2 88.0 95.0 98.0 88.0 369.0 1150.0

3 99.0 98.0 97.0 87.0 381.0 1531.0

4 96.5 90.0 96.0 85.0 367.5 1898.5

5 94.0 94.0 93.0 91.0 372.0 2270.5

语文 类别 数学 政治 合计 累加值 排名

0 100.0 95.0 100.0 99.0 394.0 394.0 1.0

1 90.0 98.0 99.0 100.0 387.0 781.0 2.0

3 99.0 98.0 97.0 87.0 381.0 1531.0 3.0

5 94.0 94.0 93.0 91.0 372.0 2270.5 4.0

2 88.0 95.0 98.0 88.0 369.0 1150.0 5.0

4 96.5 90.0 96.0 85.0 367.5 1898.5 6.0

语文 类别 数学 政治 合计 累加值 排名

0 100.0 95.0 100.0 99.0 394.0 394.0 1.0

1 90.0 98.0 99.0 100.0 387.0 781.0 2.0

2 88.0 95.0 98.0 88.0 369.0 1150.0 5.0

3 99.0 98.0 97.0 87.0 381.0 1531.0 3.0

4 96.5 90.0 96.0 85.0 367.5 1898.5 6.0

5 94.0 94.0 93.0 91.0 372.0 2270.5 4.0

语文 类别 数学 政治 合计 累加值 排名

0 100 95.0 100.0 99.0 394.0 394.0 1.0

1 98.0 99.0 100.0 387.0 781.0 2.0

2 95.0 98.0 88.0 369.0 1150.0 5.0

3 98.0 97.0 87.0 381.0 1531.0 3.0

4 None 90.0 96.0 85.0 367.5 1898.5 6.0

5 94 94.0 93.0 91.0 372.0 2270.5 4.0

语文 object

类别 float64

数学 float64

政治 float64

合计 float64

累加值 float64

排名 float64

dtype: object

填充缺失值 语文 类别 数学 政治 合计 累加值 排名

0 100 95.0 100.0 99.0 394.0 394.0 1.0

1 98.0 99.0 100.0 387.0 781.0 2.0

2 95.0 98.0 88.0 369.0 1150.0 5.0

3 98.0 97.0 87.0 381.0 1531.0 3.0

4 0 90.0 96.0 85.0 367.5 1898.5 6.0

5 94 94.0 93.0 91.0 372.0 2270.5 4.0

填充空值 语文 类别 数学 政治 合计 累加值 排名

0 100.0 95.0 100.0 99.0 394.0 394.0 1.0

1 0.0 98.0 99.0 100.0 387.0 781.0 2.0

2 0.0 95.0 98.0 88.0 369.0 1150.0 5.0

3 0.0 98.0 97.0 87.0 381.0 1531.0 3.0

4 0.0 90.0 96.0 85.0 367.5 1898.5 6.0

5 94.0 94.0 93.0 91.0 372.0 2270.5 4.0

1 781.0

Name: 累加值, dtype: float64

类别数量 0 95.0

1 98.0

2 95.0

3 98.0

4 90.0

5 94.0

Name: 类别, dtype: float64

类别=95 0 394.0

2 1150.0

Name: 累加值, dtype: float64

0 294.0

1 387.0

2 369.0

3 381.0

4 367.5

5 278.0

dtype: float64

你可能感兴趣的:(python,pandas,条件求和)