import pandas as pdA=pd.read_excel('数据表_新.xlsx')

数据类型:DataFrame(数据框)行索引(index:0~编号)列索引(0,1,2,3)---被列名覆盖了列名:代码、交易日期、交易时间、交易量单个元素值获取:A.iloc[i,j]----i代表行索引,j--列索引多个元素值获取:A.iloc[a,b]----a、b代表整数列表比如a=[1,2,4,5],b=[0,1,3]a中的元素值来自行索引,不能超过其最大值,否则越界b中的元素值来自列索引,不能超过其最大值,否则越界a--对A数据框中的行索引进行定位b--对A数据框中的列索引进行定位如果取遍所有行,用":"代替(英文输入格式)如果取遍所有列,也用“:”代替(英文输入格式)如果行索引是连续的,a=起点索引:终点索引(终点索引+1),类似range(3,10)---取的是[3,10),步长1或者可以直接用range函数对行索引进行控制,列索引也是一样的
c3=A.iloc[:,3]s=c3.sum()print(s)
102132090m=c3.mean()print(m)
21478.883280757098今有某个行业企业2013-2017年度的利润数据,请计算行业各个年度的总利润数据。比如2013年的行业总利润=2013年的所有企业利润之和。
import pandas as pdA=pd.read_excel('data.xlsx')

以计算2013年的行业总利润为例,按数据框的操作技能,我们要找到数据框A中2013-12-31的所有利润并求和即可。按取多个值的思路,我们先找到2013-12-31的行索引位置,分别为3,15,23,25,28,30,31,40,47,48,可以用一个列表a=[3,15,23,25,28,30,31,40,47,48]来表示,再寻找到列索引,利润总额为第2列,因此其示例程序如下:
a=[3,15,23,25,28,30,31,40,47,48]c2=A.iloc[a,2]
执行结果截图如下:

提取出来的结果用c2来表示,筛选出来的多个数据仍然是序列,用序列中的求和方法计算即可,示例代码如下
s=c2.sum()print(s)
22776999254.899998a=[]for i in range(len(A)):if A.iloc[i,1]=='2013-12-31':a.append(i)print(a)
[3, 15, 23, 25, 28, 30, 31, 40, 47, 48]a=[True,False,False,True]import numpy as npaa=np.array(a)

c1=A.iloc[:,1]c1_values=c1.valuestf=c1_values=='2013-12-31'

A.iloc[tf,b]---b与前面的说明不变tf--对于行索引来说,只取True对应的行索引注意:tf的长度要与数据框A的长度相同,否则没有办法实现一一对应判断
c2=A.iloc[tf,2]