Python Pandas的Series学习——由2021数模国赛C066论文Python代码

import numpy as np
import pandas as pd
import math

data=pd.DataFrame(pd.read_excel('附件1 近5年402家供应商的相关数据.xlsx',sheet_name=0))
data1=pd.DataFrame(pd.read_excel('附件1 近5年402家供应商的相关数据.xlsx',sheet_name=1))

#数据分类(可用excel去完成。)
data_a=data.loc[data['材料分类']=='A'].reset_index(drop=True)
data1_a=data.loc[data['材料分类']=='A'].reset_index(drop=True)
#data_a的数据类型为pandas的“DataFrame”


data_a.to_excel('dinghuoA.xlsx')
data1_a.to_excel('gonghuoA.xlsx')
#保存为一个excel文件

num_a=(data1_a == 0).astype(int).sum(axis=1)
#num_a的数据类型为pandas的“Series”

以上代码段涉及到pandas的数据类型——‘Series’和‘DataFrame’

Series和列表(list)类似。从零开始索引、可以重置索引、可以进行运算。

一、重置索引:‘.index’

‘A.index’这就是重置索引的命令,A是一个序列。以下示代码为例

score = 67, 45, 98, 100,87
name = ['Jhon', 'Tom', 'Grace', 'Anna', 'Rose']

Series_score=pd.Series(score)

Series_score.index=name

#元组tuple、列表list均可作为重置后的索引,注意:长度须一致。

以上代码由元组创建出序列(Series)并重置了它的索引。
元组tuple、列表list这两种类型数据均可作为重置后的索引,值得注意的是,元组、列表的长度须与数据一致。

二、数据运算:

可对每一个元素同时加减乘除。

a=Series_score*0.6
print(a)

'''
结果如下:
Jhon     40.2
Tom      27.0
Grace    58.8
Anna     60.0
Rose     52.2
dtype: float64
<class 'pandas.core.series.Series'>
'''

这与对列表的操作不同,若对一个listx*n,则代表的是将listx重复n次。此时的n只可以为整数哦。

三、逻辑(布尔)运算:

可以根据值的大小取出自己所想要的部分。

print(Series_score == 100)


'''
该命令结果如下
Jhon     False
Tom      False
Grace    False
Anna      True
Rose     False
dtype: bool
'''
print(Series_score[Series_score == 100])

'''
该命令结果如下
Anna    100
dtype: int64
'''

两种表达式的输出结果是不同的。第二种存在一个嵌套……?我是这么认为的。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值