和鲸社区-Numpy+Pandas数据处理·闯关-关卡2

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’)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值