早起python

点关注和我一起学Python

大家好,本文为Pandas进阶修炼120题最后一期,在本期我整理了一些在Pandas中比较重要但是前几期没有体现的函数与操作供各位读者练习,如果感兴趣,请一定要敲一遍代码。

101数据读取题目:从CSV文件中读取指定数据难度:⭐⭐备注从数据1中的前10行中读取positionName, salary两列答案

df = pd.read_csv('数据1.csv',encoding='gbk', usecols=['positionName', 'salary'],nrows = 10)

102数据读取题目:从CSV文件中读取指定数据难度:⭐⭐备注从数据2中读取数据并在读取数据时将薪资大于10000的为改为高

答案

df = pd.read_csv('数据2.csv',converters={'薪资水平': lambda x: '高' if float(x) > 10000 else '低'} )

103数据计算题目:从dataframe提取数据难度:⭐⭐⭐备注从上一题数据中,对薪资水平列每隔20行进行一次抽样

期望结果

答案

df.iloc[::20, :][['薪资水平']]

104数据处理题目:将数据取消使用科学计数法难度:⭐⭐输入

df = pd.DataFrame(np.random.random(10)**10, columns=['data'])

期望结果

答案

df.round(3)

105数据处理题目:将上一题的数据转换为百分数难度:⭐⭐⭐期望结果

答案

df.style.format({'data': '{0:.2%}'.format})

106数据查找题目:查找上一题数据中第3大值的行号难度:⭐⭐⭐答案

df['data'].argsort()[::-1][7]

107数据处理题目:反转df的行难度:⭐⭐答案

df.iloc[::-1, :]

108数据重塑题目:按照多列对数据进行合并难度:⭐⭐

df1= pd.DataFrame({'key1': ['K0', 'K0', 'K1', 'K2'],'key2': ['K0', 'K1', 'K0', 'K1'],'A': ['A0', 'A1', 'A2', 'A3'],'B': ['B0', 'B1', 'B2', 'B3']})

df2= pd.DataFrame({'key1': ['K0', 'K1', 'K1', 'K2'],'key2': ['K0', 'K0', 'K0', 'K0'],'C': ['C0', 'C1', 'C2', 'C3'],'D': ['D0', 'D1', 'D2', 'D3']})

答案

pd.merge(df1, df2, on=['key1', 'key2'])

109数据重塑题目:按照多列对数据进行合并难度:⭐⭐

备注

只保存df1的数据

答案

pd.merge(df1, df2, how='left', on=['key1', 'key2'])

110数据处理题目:再次读取数据1并显示所有的列难度:⭐⭐备注数据中由于列数较多中间列不显示答案

df = pd.read_csv('数据1.csv',encoding='gbk')pd.set_option("display.max.columns", None)df

111数据查找题目:查找secondType与thirdType值相等的行号难度:⭐⭐答案

np.where(df.secondType == df.thirdType)

112数据查找题目:查找薪资大于平均薪资的第三个数据难度:⭐⭐⭐答案

np.argwhere(df['salary'] > df['salary'].mean())[2]

113数据计算题目:将上一题数据的salary列开根号难度:⭐⭐答案

df[['salary']].apply(np.sqrt)

114数据处理题目:将上一题数据的linestaion列按_拆分难度:⭐⭐答案

df['split'] = df['linestaion'].str.split('_')

115数据查看题目:查看上一题数据中一共有多少列难度:⭐答案

df.shape[1]

116数据提取题目:提取industryField列以'数据'开头的行难度:⭐⭐答案

df[df['industryField'].str.startswith('数据')]

117数据计算题目:按列制作数据透视表难度:⭐⭐⭐答案

pd.pivot_table(df,values=["salary","score"],index="positionId")

118数据计算题目:同时对salary、score两列进行计算难度:⭐⭐⭐答案

df[["salary","score"]].agg([np.sum,np.mean,np.min])

119数据计算题目:对不同列执行不同的计算难度:⭐⭐⭐备注对salary求平均,对score列求和答案

df.agg({"salary":np.sum,"score":np.mean})

120数据计算题目:计算并提取平均薪资最高的区难度:⭐⭐⭐⭐答案

df[['district','salary']].groupby(by='district').mean().sort_values('salary',ascending=False).head(1)

以上就是Pandas进阶修炼120题第五期全部内容,也是该系列最后一期的内容,如果对本期内容有任何疑问或者更好的方法欢迎给我留言。我会结合所有读者给出的新方法对全部120题进行再次整理汇总发布。

记得点个在看支持下~?

pandas提取某两列的值_Pandas进阶修炼120题第五期相关推荐

  1. pandas 取excel 中的某一列_Pandas进阶修炼120题,给你深度和广度的船新体验

    Pandas 是基于 NumPy 的一种数据处理工具,该工具为了解决数据分析任务而创建.Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的函数和方法. 和鲸社区的@刘早起 ...

  2. pandas计算含缺失值中列平均值_Pandas进阶修炼120题,给你深度和广度的船新体验...

    来源:早起Python 本文约5800字,建议阅读15分钟. 本文为你介绍Pandas基础.Pandas数据处理.金融数据处理等方面的一些习题. Pandas 是基于 NumPy 的一种数据处理工具, ...

  3. pandas计算dataframe两列数据值相等的行号、取出DataFrame中两列值相等的行号

    pandas计算dataframe两列数据值相等的行号.取出DataFrame中两列值相等的行号 目录 pandas计算dataframe两列数据值相等的行号.取出DataFrame中两列值相等的行号

  4. Pandas进阶修炼120题

    作者:刘早起 来源:早起python,禁止二次转载 这篇文章是『Pandas进阶修炼120题』的汇总,我们对Pandas中常用的操作以习题的形式发布.从读取数据到高级操作全部包含,希望可以通过刷题的方 ...

  5. pandas 过滤某一列的值_Pandas学习笔记,如何用列的值过滤行

    通过tushare引入DataFrame d = ts.get_hist_data('600848', start='2015-01-05', end='2015-01-09') data=pd.Da ...

  6. Pandas进阶修炼120题,给你深度和广度的船新体验

    来源:早起Python 本文约5800字,建议阅读15分钟. 本文为你介绍Pandas基础.Pandas数据处理.金融数据处理等方面的一些习题. Pandas 是基于 NumPy 的一种数据处理工具, ...

  7. python提取两列数据对比_使用Python的Dataframe取两列时间值相差一年的所有行方法...

    在使用Python处理数据时,经常需要对数据筛选. 这是在对时间筛选时,判断两列时间是否相差一年,如果是,则返回符合条件的所有列. data原始数据: data[map(lambda x:dateti ...

  8. 【Pandas】对比两列取最大值生成新的一列

    [Pandas]对比两列取最大值生成新的一列 问题: 假设 dataframe 中有如下两列,如何生成第三列 best,其值取scheme1与scheme2 对应的最大值 解决方法: df['best ...

  9. pandas读取html并排序,使用pandas怎么实现按照列的值进行排序

    使用pandas怎么实现按照列的值进行排序 发布时间:2020-12-14 14:19:34 来源:亿速云 阅读:153 作者:Leah 这期内容当中小编将会给大家带来有关使用pandas怎么实现按照 ...

  10. python交换两列的位置_如何更改 pandas dataframe 中两列的位置

    如何更改 pandas dataframe 中两列的位置: 把其中的某列移到第一列的位置. 原来的 df 是: df = pd.read_csv('I:/Papers/consumer/codeand ...

最新文章

  1. mysql高可用之MMM
  2. 【hdu 6342】Expression in Memories
  3. 用python画奥迪标志_不知道不 OK!53 个 Python 经典面试题详解
  4. python中name没有定义_python中__name__的使用
  5. 【Java】整数存储单元的设计与模拟
  6. 调试代码和解决问题的总体思路和 技术路线应该持有的心态
  7. netty的零拷贝、架构设计、ByteBuf扩容机制详解
  8. nginx 配置文件详解 深入理解nginx配置文件
  9. SharePoint 2010遍历文档库中所有的文件,文件夹
  10. 38线性映射05——代数与代数同构
  11. 赣州计算机教师招聘,江西省赣州市章贡区2019年招聘教师人员岗位表
  12. Android APK 签名问题
  13. 要想混得好,必须认识21个人!
  14. idea android模拟器无法启动,Flutter Hello world应用程序无法在Android模拟器x86_64上启动...
  15. 2021-09-09二叉树的最大深度, 深度优先搜索
  16. vue 中国省市区级联数据下拉工具
  17. 互联网周刊咋么了呢?
  18. 范畴论[转自百度百科]
  19. 论文总结——SIPaKMeD宫颈细胞Pap涂片数据集
  20. 高德SDK 小车轨迹回放,速度、进度控制

热门文章

  1. 如何实现一张图片覆盖窗体 - 回复 客栈老人 的问题
  2. 详解 Spring 3.0 基于 Annotation 的依赖注入实现
  3. GPU程序在GameByro中的使用
  4. 5.Kong入门与实战 基于Nginx和OpenResty的云原生微服务网关 --- Kong 的配置详解
  5. 5.Jenkins 权威指南 --- 安全
  6. 35.MySQL 常见问题
  7. 19.UNIX 环境高级编程--伪终端
  8. 39.Linux 内核
  9. 7. Decorator pattern(装饰器模式)
  10. Java中数据输入输出流——DataInputStream和DataOutputStream