专栏首页算法与数据之美十分钟掌握Pandas基本操作(上)

十分钟掌握Pandas基本操作(上)

为了更好地掌握数据科学必备库Pandas的基本使用,本文通过精灵宝可梦的数据集实战,我们一起过一遍Pandas的基本操作,文中的代码都附有注释,并给出了结果的配图。

话不多说,我们开始吧!

  • 导入pandas库,并读取csv文件
import pandas as pd
df=pd.read_csv('pokemon/Pokemon.csv')
  • 查看DataFrame信息
df.info()        # 数据类型,内存消耗等信息
df.describe()    # 统计特征,均值方差等
  • 查看DataFrame的前几行以及后几行
pd.head(n=5)  # 可以添加参数n,表示显示几行
pd.tail()
  • 显示行列信息
df.index    # 列索引
df.columns  # 行索引
df.values   # array对象
df.dtypes   # 列元素属性
  • 删除行列
df.drop(['#'],axis=1,inplace=True)
# 删除‘#’列数据,在原DataFrame上改变
df.drop([1,2,3],axis=0)
# 删除行索引为1、2、3的行,不在原DataFrame上改变
  • 修改列名(两种方法将‘Type 1’以及‘Type 2’中间的空格去掉)
df.rename(columns={'Type 1':'Type1','Type 2':'Type2'})
df.columns=df.columns.str.replace(' ','')
  • 数据观察
df['Defense'].mean()     # 所有宝可梦Defense的均值
df['Attack'].argmax()    # Attack最高的行索引
df['Sp.Atk'].idxmax()    # Sp.Atk最高的行索引
df.sort_values('HP',ascending=False).head(3)
# HP最多的前三条数据
df['Type1'].unique()     # Type1一共有哪些种类
df['Type1'].nunique()    # Type1一共有几种
df['Type2'].value_counts()
# Type2每种共有多少条
  • 检测空值
df.isnull().sum().sort_values(ascending=False)
# 将空值判断进行汇总,按从高到低排序
  • 空值填充
df['Type2'].fillna(value="Unknown",inplace=True)
# 将所有空缺值填为Unknown
df['Type2'].fillna(df['Type1'], inplace=True)
# 将所有Type2空缺值填为其对应Type1的值
  • 删除空值
df.dropna(how='any')
# 去除所有包含空值的行
  • 去重
df.drop_duplicates(['Type1'],keep='first')
# 去除相同的Type1的数据,仅保留第一个
  • 数据条件查询
df[df['Name']=='Squirtle']
# 查看杰尼龟的数据
df[df['Type1'].isin(['Fire'])]
# 查看所有Type1为Fire的数据
df[(df['Generation']==1)&(df['Attack’]>=100)]
# 查看Generation为1并且攻击力大于100的宝可梦
  • 数据访问方式(单行索引)
df.loc[3]   # 访问行索引为3的数据
df.iloc[3]  # 访问第4行数据,两行代码结果相同
  • 数据访问方式(区域索引,先行后列)
df.iloc[:5,:2]    # 数据前5行前两列,按位置索引
df.loc[10:15,['Generation','Attack','Sp.Atk']]
# 数据行标签10-15,列标签Generation,Attack和Sp.Atk,按标签索引
df.loc[[10,11,12,13,14,15],['Generation','Attack','Sp.Atk']]
# 与上述写法结果相同
df.loc[(df['Legendary']==True)|(df['Type1']=='Grass')]
# Legendary为真或者Type1为Grass的数据
  • 参考资料

Pandas官方文档

——END——

推荐阅读

我用Python在网上复制文字的几种实用方法

混淆矩阵及其可视化

一次免费代理ip的爬取实战

本文分享自微信公众号 - 算法与数据之美(algo_and_data),作者:老肥

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 十分钟掌握Pandas基本操作(下)

    对于Pandas的基本操作我们就总结到这里,这个数据集还可以用来做机器学习,把宝可梦的类型作为标签来预测,或是把是否是神兽作为标签来做二分类等等,我们下回见。

    老肥码码码
  • 学计算机的男生发这个给我看是什么意思?

    今天知乎热榜上出现了一个非常有意思的话题,某个女生收到了男生的一个用Python程序打印出来的爱心,问是何意思。

    老肥码码码
  • 快乐游戏,解放双手

    上回说到这个PyUserInput这个库能够模拟鼠标和键盘点击(没看过的朋友底部有传送门),今天老肥再来实战一波游戏脚本制作。

    老肥码码码
  • Pandas入门操作

    俺也想起舞
  • Python中字段抽取、字段拆分、记录抽取

    1、字段抽取 字段抽取是根据已知列数据的开始和结束位置,抽取出新的列 字段截取函数:slice(start,stop) 注意:和数据结构的访问方式一样,开始位置...

    Erin
  • 快速介绍Python数据分析库pandas的基础知识和代码示例

    “软件工程师阅读教科书作为参考时不会记住所有的东西,但是要知道如何快速查找重·要的知识点。”

    deephub
  • 【MathorCup】2020年 A题 无车承运人平台线路定价问题,特征间的相关性分析

    问题 1:通过定量分析的方法,研究影响无车承运人平台进行货运线路定价的主要因素有哪些,并说明理由。 问题 2:根据附件 1 数据,通过建立数学模型,对已经成交...

    不太灵光的程序员
  • Pandas进阶修炼120题,给你深度和广度的船新体验

    本文为你介绍Pandas基础、Pandas数据处理、金融数据处理等方面的一些习题。

    数据派THU
  • Day05| 第四期-电商数据分析

    疫情期间,想必我们会增加网上购物,人们的生活越来越数字化。当我们消费时,无论是线上和线下都会产生大量的交易数据,对于商家来说数字化的运营方式非常必要,从大量的交...

    DataScience
  • Pandas 数据分析: 3 种方法实现一个实用小功能

    与时间相关,自然第一感觉便是转化为datetime格式,这里需要注意:需要首先将两列转化为 str 类型。

    double

扫码关注云+社区

领取腾讯云代金券