'''完成以下任务1.导入pandas包2.定义列表L1、L2,元组T1、T2L1=[1,-2,2.3,'hq']L2=['kl','ht','as','km']T1=(1,8,8,9)T2=(2,4,7,'hp')3.构造数据框,默认索引,列名依次为a,b,c,d,打印计算结果A4.构造数据框,索引为a,b,c,d,列名为L1,L2,T1,T2,打印计算结果B'''import pandas as pdd={'a':[1,-2,2.3,'hq'],'b':['kl','ht','as','km'],'c':(1,8,8,9),'d':(2,4,7,'hp')}A=pd.DataFrame(d)'''L1=[1,-2,2.3,'hq']L2=['kl','ht','as','km']T1=(1,8,8,9)T2=(2,4,7,'hp')d={'a':L1,'b':L2,'c':T1,'d':T2}A=pd.DataFrame(d)'''A=pd.DataFrame(d)L1=[1,-2,2.3,'hq']L2=['kl','ht','as','km']T1=(1,8,8,9)T2=(2,4,7,'hp')d={'L1':L1,'L2':L2,'T1':T1,'T2':T2}B=pd.DataFrame(d)B.index=['a','b','c','d']
'''1.导入pandas包2.read_excel()函数读取“一、车次上车人数统计表.xlsx”中的数据,用一个数据框df1来存储3.通过read_table()函数可以读取"txt1.txt"文件中的数据(不带表头),用一个数据框df2来表示4.通过read_csv()函数读取用分块读取的方式读取“data.csv”文件,每次读取20000行,并输出每次读取的数据集行数5.输出格式为“第n次读取数据规模为:20000 /n (20000, 列数)”'''import pandas as pddf1=pd.read_excel('一、车次上车人数统计表.xlsx')df2=pd.read_table('text1.txt',header=None)#df3=pd.read_csv('data.csv')data_set=[]reader=pd.read_csv('data.csv',sep=',',chunksize=20000)k=0for A in reader: data_set.append(A) print('第'+str(k)+'次读取数据规模为: ',(len(A),len(A.iloc[0,:]))) k=k+1
'''请读取地铁站点进出站客流数据表(Data.xlsx),表结构字段如下: 站点编号、日期、时刻、进站人数、出站人数完成以下任务:1)取出第0列,通过去重的方式获得地铁站点编号列表,记为code2)采用数据框中的groupby分组计算函数,统计出每个地铁站点每天的进站人数和出站人数, 计算结果采用一个数据框sat_num来表示,其中列标签依次为:站点编号、日期、进站人数和出站人数;3)计算出每个站点国庆节期间(10.1~10.7)的进站人数和出站人数, 计算结果用一个数据框sat_num2来表示,其中列标签依次为:A1_站点编号、A2_进站人数、A3_出站人数。'''import pandas as pdA=pd.read_excel('Data.xlsx')#1.code=A.iloc[:,0]code=code.unique()#2.#df.groupby([分组字段])[统计字段].统计函数res1=A.groupby(['站点编号','日期'])['进站人数'].sum()res2=A.groupby(['站点编号','日期'])['出站人数'].sum()ind=list(res1.index)code_list=[]day_list=[]for i in range(len(ind)): code_list.append(ind[i][0]) day_list.append(ind[i][1])d={'站点编号':code_list,'日期':day_list,'进站人数':res1.values,'出站人数':res2.values}sat_num=pd.DataFrame(d) #3#先筛选10.1-10.7日的数据,再用相似的方法计算day=A.iloc[:,1]day_values=day.valuestf=day_values<='2015-10-07'A1=A.iloc[tf,:]res1_2=A1.groupby(['站点编号'])['进站人数'].sum()res2_2=A1.groupby(['站点编号'])['出站人数'].sum()d1={'A1_站点编号':res1_2.index,'A2_进站人数':res1_2.values,'A3_出站人数':res2_2.values}sat_num2=pd.DataFrame(d1)
#1.导入pandas包#2.定义两个字典 dict1 和 dict2import pandas as pddict1={'code':['A01','A01','A01','A02','A02','A02','A03','A03'], 'month':['01','02','03','01','02','03','01','02'], 'price':[10,12,13,15,17,20,10,9]}dict2={'code':['A01','A01','A01','A02','A02','A02'], 'month':['01','02','03','01','02','03'], 'vol':[10000,10110,20000,10002,12000,21000]}#3.将两个字典转化为数据框;df1=pd.DataFrame(dict1)df2=pd.DataFrame(dict2) #4.对两个数据框完成内连接、左连接、右连接;df_inner=pd.merge(df1, df2,how='inner',on=['code','month'])df_left=pd.merge(df1, df2,how='left',on=['code','month'])df_right=pd.merge(df1, df2,how='right',on=['code','month'])
#1.定义三个字典dict1、dict2和dict3import numpy as npimport pandas as pddict1={'a':[2,2,'kt',6],'b':[4,6,7,8],'c':[6,5,np.nan,6]}dict2={'d':[8,9,10,11],'e':['p',16,10,8]}dict3={'a':[1,2],'b':[2,3],'c':[3,4],'d':[4,5],'e':[5,6]}#2.将三个字典转化为数据框df1、df2、df3;df1=pd.DataFrame(dict1)df2=pd.DataFrame(dict2)df3=pd.DataFrame(dict3)#3.df1和df2进行水平合并,合并后的数据框记为df4;df4=pd.concat([df1,df2],axis=1) #水平合并#4.df3和df4垂直合并,并修改合并后的index为按默认顺序排列,修改合并后的数据框记为df5df5=pd.concat([df3,df4],axis=0) #垂直合并df5.index=range(len(df5))
#1.导入pandas包import pandas as pd#2.定义列表LL=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]#3.把列表L转化为序列SS=pd.Series(L)#4.针对S实现周期为10的移动求和、求平均值、求最大值、求最小值的计算Sum=S.rolling(10).sum()mean=S.rolling(10).mean()max1=S.rolling(10).max()min1=S.rolling(10).min()
'''1、导入pdndas包2、读取地铁站点进出站客流数据表(Data.xlsx),字段依次为: 站点编号、日期、时刻、进站人数、出站人数3、采用索引(iloc)实现的方式,获取135站点 10月1日-10月2日早上9-11点3个时刻的进站客流量数据(取所有字段),记为A'''import pandas as pddata=pd.read_excel('Data.xlsx')#条件1code=data.iloc[:,0]tf1=code.values==135#条件2day=data.iloc[:,1]tf2=(day.values=='2015-10-01')|(day.values=='2015-10-02') #条件3time=data.iloc[:,2] tf3=(time.values>=9) & (time.values<=11) #总条件tf=tf1&tf2&tf3A=data.iloc[tf,:]
'''1.导入pandas包2.用read_excel()函数读取“data.xlsx"表,用数据框read表示3.提取600000.SH代码交易数据,并按交易日期从小到大进行排序,记为data4.对整个数据框read,按代码、交易日期从小到大进行排序,记得dat'''import pandas as pdread=pd.read_excel('data .xlsx')#data=read.sort_values('交易日期',ascending=True)dat=read.sort_values(['代码','交易日期'])dat=read.sort_values(['代码','交易日期'],ascending=True)#dat=read.sort_values(['代码','交易日期'],ascending=False)
'''读取地铁站点进出站客流数据表(Data.xlsx),统计计算获得每个站点每个时刻(除去国庆期间)的总进站客流量和总出站客流量,用一个数据框来R表示,列名依次为:A1_站点编号、A2_时刻、A3_总进站客流、A4_总出站客流,并将结果导出到Excel表格中,命名为“各站点各时刻进出站客流数据.xlsx”'''import pandas as pdA=pd.read_excel('Data.xlsx')tf=A.iloc[:,1].values>='2015-10-08'A_1=A.iloc[tf,:]res1=A_1.groupby(['站点编号','时刻'])['进站人数'].sum()res2=A_1.groupby(['站点编号','时刻'])['出站人数'].sum()index=list(res1.index)R=pd.DataFrame(index,columns=['A1_站点编号','A2_时刻'])#R.columns=['A1_站点编号','A2_时刻']'''获取数据框A的某列,两种方法:1.A.iloc[:,i] i---某列的序号2.A['name'] name--某列的列名'''R['A3_总进站客流']=res1.valuesR['A4_总出站客流']=res2.values
#1.定义一个列表code,编号为1~30#2.对code,按30个元素一次随机抽样,记为A#3.返回结果,为序列s,其中index为编号,值为抽样结果code=list(range(1,31))import randomA=random.sample(code,30)import pandas as pds=pd.Series(A,index=code)
'''本关任务:某题库有选择、填空、判断、计算和应用5种题型,每种题型题号从1开始依次按顺序编号,其中选择题70道,填空题80道,判断题50道,计算题30道,应用题20道。现有40个同学参加考试,要求每个同学从5种题型中随机抽取1道题目组成试卷,请编程实现给出每个同学试卷的具体题目编号。'''#知识点,考查random.randint(),随机整数的生成应用import randomimport pandas as pdcode=[]t1=[]t2=[]t3=[]t4=[]t5=[]for i in range(1,41): code.append(i) t1.append(random.randint(1,71)) t2.append(random.randint(1,81)) t3.append(random.randint(1,51)) t4.append(random.randint(1,31)) t5.append(random.randint(1,21)) d={'学号':code,'选择题号':t1,'填空题号':t2,'判断题号':t3,'计算题号':t4,'应用题号':t5}R=pd.DataFrame(d)