STEP1: 按照下列要求完成各题目
由于随机数的存在会影响最终提交的文件,所以这里重新读取数据
读取pandas120数据文件
import numpy as np
import pandas as pd
df = pd.read_excel('/home/mw/input/pandas1206855/pandas120.xlsx')
df.head()
1. 提取学历为本科,工资在25k-35k的数据
df1 = df[ df["education"].isin(["本科"]) & df["salary"].isin(["25k-35k"]) ]
df1
2. 提取salary列中以’40k’结尾的数据
df2 = df[ df["salary"].str.endswith("40k") ]
df2
3. 提取薪资区间中最低薪资与最高薪资的平均值大于30k的行,只需提取原始字段(‘createTime’, ‘education’, ‘salary’)即可
ele = df["salary"].to_list()
aver = [ x for x in ele if( int(x.split("k")[1])*(-0.5)+int(x.split("k")[0])*0.5>30 ) ]
aver
df3 = df[df["salary"].isin(aver)]
df3
4. 将以上三题提取出来的行按照相同列进行合并,汇总到一个数据框中;
answer_2 = pd.concat([df1, df2, df3], axis=0)
answer_2
6. 将三列数据合并成一列,并设置列名为answer,最后保留id(数据行数、answer)
data = pd.concat([answer_2.iloc[:,0],answer_2.iloc[:,1],answer_2.iloc[:,2]])
df = pd.DataFrame(data, columns=['answer'])
df['id'] = range(len(df))
df = df[['id', 'answer']]
df
STEP2: 将结果保存为 csv 文件 保存文件到本地
df.to_csv(‘answer_2.csv’, index=False, encoding=‘utf-8-sig’)