zoukankan      html  css  js  c++  java
  • Pandas进阶修炼120题|第一期

    =============

    欢迎关注文章首发公众号:早起python

    =============

    在『Pandas进阶修炼120题』系列中,我们将对pandas中常用的操作以习题的形式发布。从读取数据到高级操作全部包含。如果你是新手,可以通过本系列完整学习使用pandas进行数据处理的各种方法,如果你是高手,欢迎留言给出与答案的不同解法。本期先来20题热身吧!

    1创建DataFrame

    题目:将下面的字典创建为DataFrame

    data = {"grammer":["Python","C","Java","GO",np.nan,"SQL","PHP","Python"],
           "score":[1,2,np.nan,4,5,6,7,10]}

    难度:⭐

    期望结果

    答案

    df = pd.DataFrame(data)

    本期所有题目均基于该数据框给出

    2数据提取

    题目:提取含有字符串"Python"的行

    难度:⭐⭐

    期望结果

    grammer  score
    0 Python    1.0
    7 Python   10.0

    答案

    result=df[df['grammer'].str.contains("Python")]

    3提取列名

    题目:输出df的所有列名

    难度:⭐

    期望结果

    Index(['grammer', 'score'], dtype='object')

    答案

    df.columns

    4修改列名

    题目:修改第二列列名为'popularity'

    难度:⭐⭐

    答案

    df.rename(columns={'score':'popularity'}, inplace = True)

    5字符统计

    题目:统计grammer列中每种编程语言出现的次数

    难度:⭐⭐

    答案

    df['grammer'].value_counts()

    6缺失值处理

    题目:将空值用上下值的平均值填充

    难度:⭐⭐⭐

    答案

    df['popularity'] = df['popularity'].fillna(df['popularity'].interpolate())

    7数据提取

    题目:提取popularity列中值大于3的行

    难度:⭐⭐

    答案

    df[df['popularity'] > 3]

    8数据去重

    题目:按照grammer列进行去重

    难度:⭐⭐

    答案

    df.drop_duplicates(['grammer'])

    9数据计算

    题目计算popularity列平均值

    难度:⭐⭐

    答案

    df['popularity'].mean()

    10格式转换

    题目:将grammer列转换为list

    难度:⭐⭐

    答案

    df['grammer'].to_list()

    11数据保存

    题目:将DataFrame保存为EXCEL

    难度:⭐⭐

    答案

    df.to_excel('filename.xlsx')

    12数据查看

    题目:查看数据行列数

    难度:⭐

    答案

    df.shape

    13数据提取

    题目:提取popularity列值大于3小于7的行

    难度:⭐⭐

    答案

    df[(df['popularity'] > 3) & (df['popularity'] < 7)]

    14位置处理

    题目:交换两列位置

    难度:⭐⭐⭐

    答案

    temp = df['popularity']
    df.drop(labels=['popularity'], axis=1,inplace = True)
    df.insert(0, 'popularity', temp)

    15数据提取

    题目:提取popularity列最大值所在行

    难度:⭐⭐

    答案

    df[df['popularity'] == df['popularity'].max()]

    16数据查看

    题目:查看最后5行数据

    难度:⭐

    答案

    df.tail()

    17数据修改

    题目:删除最后一行数据

    难度:⭐

    答案

    df = df.drop(labels=0)

    18数据修改

    题目:添加一行数据['Perl',6.6]

    难度:⭐⭐

    答案

    row={'grammer':'Perl','popularity':6.6}
    df = df.append(row,ignore_index=True)

    19数据整理

    题目:对数据按照"popularity"列值的大小进行排序

    难度:⭐⭐

    答案

    df.sort_values("popularity",inplace=True)

    20 字符统计

    题目:统计grammer列每个字符串的长度

    难度:⭐⭐⭐

    答案

    df['grammer'].map(lambda x: len(x))

    以上就是Pandas进阶修炼120题|第一期内容,当然我给出的每一题答案可能并非唯一或者最优答案,如果读者有其他实现代码或有相关建议欢迎点击下方小程序给我留言。

  • 相关阅读:
    div标签的闭合检查
    jquery easyui 显示和关闭数据加载的遮罩
    codeforces 446A DZY Loves Sequences
    android高速开发框架xUtils
    Android-spinner
    遗传算法优化策略
    面向对象的勾勾画画
    Android studio 解决setText中文乱码问题
    CAS—改动默认登录页
    android 使用post 提交
  • 原文地址:https://www.cnblogs.com/liuzaoqi/p/12769585.html
Copyright © 2011-2022 走看看