Pandas练习的参考代码

    针对上一节的练习问题,以下为参考代码。
    首先将数据表完整的在Python中表示出来。

import pandas as pd
from pandas import DataFrame
from pandasql import sqldf, load_meat, load_births
data={'Chinese':[66,95,95,90,80,80],'English':[65,85,92,88,90,90],'Math':[None,98,96,77,90,90]}
df=pd.DataFrame(data,index=['ZhangFei','GuanYu','ZhaoYun','HuangZhong','DianWei','DianWei'],columns=['Chinese','English','Math'])
print(df)

运行结果:

             Chinese  English  Math
ZhangFei         66       65   NaN
GuanYu           95       85  98.0
ZhaoYu           95       92  96.0
HuangZhong       90       88  77.0
DianWei          80       90  90.0
DianWei          80       90  90.0

    接下来,我们看到DianWei行重复了,因此去重复的行,以及将各科名称重命名为中文。

#去重复行
df=df.drop_duplicates()
#列名重命名
df.rename(columns={'Chinese':'语文','English':'英语','Math':'数学'},inplace=True)
print(df)

运行结果:

          语文 英语 数学
ZhangFei    66  65   NaN
GuanYu      95  85  98.0
ZhaoYu      95  92  96.0
HuangZhong  90  88  77.0
DianWei     80  90  90.0

    通过上述操作,我们看到重复的DianWei行只保留了一行,且各科目名称被改成了中文。接下来要进行数据统计,在数据统计之前,判断是否有缺失值,若存在缺失值,考虑对缺失值进行处理。

print(df.isnull().sum())#判断缺失值
print(df.isnull())#查找缺失值

运行结果:

语文    0
英语    0
数学    1
dtype: int64
            语文   英语    数学
ZhangFei    False  False   True
GuanYu      False  False  False
ZhaoYu      False  False  False
HuangZhong  False  False  False
DianWei     False  False  False

    从代码结果中看出数学列中有1个缺失值,具体位置是ZhangFei的数学成绩缺失。考虑用数学成绩的平均值进行填充。

df['数学'].fillna(df['数学'].mean(),inplace=True)#用均值填充缺失值
print(df)

运行结果:

          语文 英语 数学
ZhangFei    66  65  90.25
GuanYu      95  85  98.00
ZhaoYu      95  92  96.00
HuangZhong  90  88  77.00
DianWei     80  90  90.00

    从结果可以看到ZhangFei的数学成绩已经填充好了。下面添加总分一列,并依据总分从高到低排序。

def total_score(df):
    df[u'总分']=df[u'语文']+df[u'英语']+df[u'数学']
    return df
df=df.apply(total_score,axis=1)
print(df)
df.sort_values(['总分'],ascending=False,inplace=True)#按总分从高到低排序
print(df)

运行结果:

            语文  英语  数学    总分
ZhangFei    66.0  65.0  90.25  221.25
GuanYu      95.0  85.0  98.00  278.00
ZhaoYu      95.0  92.0  96.00  283.00
HuangZhong  90.0  88.0  77.00  255.00
DianWei     80.0  90.0  90.00  260.00
            语文  英语  数学    总分
ZhaoYu      95.0  92.0  96.00  283.00
GuanYu      95.0  85.0  98.00  278.00
DianWei     80.0  90.0  90.00  260.00
HuangZhong  90.0  88.0  77.00  255.00
ZhangFei    66.0  65.0  90.25  221.25

    从结果中看出ZhaoYun的总分最高。其实,在计算总分时还有一个更简便的方法。

df[u'总分']=df.sum(axis=1)
print(df)

运行结果:

           语文 英语 数学   总分
ZhangFei    66  65  90.25  221.25
GuanYu      95  85  98.00  278.00
ZhaoYun     95  92  96.00  283.00
HuangZhong  90  88  77.00  255.00
DianWei     80  90  90.00  260.00

    结果和上面应用apply()函数的结果一致,但代码更简洁。下面对数据进行统计。

print(df.describe())

运行结果:

          语文       英语      数学         总分
count   5.000000   5.000000   5.000000    5.000000
mean   85.200000  84.000000  90.250000  259.450000
std    12.357184  10.931606   8.196798   24.382627
min    66.000000  65.000000  77.000000  221.250000
25%    80.000000  85.000000  90.000000  255.000000
50%    90.000000  88.000000  90.250000  260.000000
75%    95.000000  90.000000  96.000000  278.000000
max    95.000000  92.000000  98.000000  283.000000

    好了,练习的代码到这里就基本结束了,关于Pandas的学习还远远没有结束。希望我们在以后的学习里多多动手实操,多多发现,多多进步。
    最后的最后,当然是宣传我的个人公众号啦:小菜鸡的技术之路。欢迎大家一起交流,一起进步啊!附上我的公众号二维码。
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Pandas Cookbook中文版是一部Pandas库的学习指南,主要面向Python编程语言的数据科学家和分析师。本书通过实例和案例,以易于理解、易于操作的方式展示了Pandas库的核心概念和应用方法,包括数据结构、数据清理、数据操作和数据可视化等方面。书中内容丰富、实用性强,既适合初学者入门学习,也可供高级用户参考,是学习Pandas库的重要参考资料。本书的优势在于详细的实例以及通俗易懂的讲解,可以帮助读者快速入门并掌握Pandas库的使用方法。此外,本书还提供了大量的代码示例和练习,以及实用的技巧和方法,帮助读者更好地理解和应用Pandas库,优化数据处理效率。总之,Pandas Cookbook中文版是从入门到进阶的Pandas库学习指南,是数据科学家和分析师必备的参考书籍。 ### 回答2: Pandas Cookbook中文版是一本介绍Pandas库的使用方法的教程书籍。Pandas库是一个数据分析工具,它提供了大量的数据结构和函数,可以方便地对数据进行操作和分析。这本书籍首先介绍了Pandas库的基本概念和数据结构,如Series和DataFrame等,并详细讲解了数据读取、清洗、转换、计算、合并等操作。此外,书中还包含了很多实际应用的例子,如如何对股票数据进行分析、如何对电影数据进行可视化,以及如何使用Pandas库处理时间序列等等。 Pandas Cookbook中文版的编写风格简洁明了,注重实践应用,同时也有很多详细的代码和示例。书中还配有丰富的图表和说明,让读者更加容易理解和掌握Pandas库的使用方法。此外,书中还提供了一些Pandas库中的高级技术,如pandas.DataFrame.query()和pandas.DataFrame.pivot_table()等。 总的来说,Pandas Cookbook中文版是一本非常实用的教程书籍,无论是初学者还是使用Pandas库较久的使用者,都可以从中找到很多有价值的信息和技巧,能够帮助读者更加高效地处理和分析数据。 ### 回答3: 《Pandas Cookbook》中文版是一本介绍如何使用Pandas库进行数据处理、分析和可视化的实用指南。它由10个章节组成,每个章节都涉及不同的Pandas主题,例如索引、筛选、组合、聚合、重塑和可视化数据。此外,每个章节都包含大量的示例代码、详细说明和截图,以解释如何使用Pandas库进行数据操作和分析。本书还包括练习,可帮助读者巩固理解和应用所学内容。总之,《Pandas Cookbook》中文版是一本理解Pandas库的重要工具,它为初学者提供了许多实用的示例和技巧,同时对于有经验的数据分析师也是一本非常有价值的参考书。通过学习本书中的内容,读者可以掌握Pandas库的许多重要功能和技巧,可以更有效地处理和分析数据,从而更好地理解和应用数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值