当前位置: 首页 > article >正文

【Kaggle | Pandas】练习6:重命名和组合

文章目录

    • 1. 重命名
    • 2. 修改索引名称
    • 3. 列表组合
    • 4. 设置两个表相同索引并组合

import pandas as pd

reviews = pd.read_csv("../input/wine-reviews/winemag-data-130k-v2.csv", index_col=0)

from learntools.core import binder; binder.bind(globals())
from learntools.pandas.renaming_and_combining import *
print("Setup complete.")

🍊通过运行下面的单元格查看数据的前几行:

reviews.head()

在这里插入图片描述

1. 重命名

region_1和region_2是数据集中区域设置列的非常没有信息的名称。创建一个reviews的副本,将这些列分别重命名为region和locale。

# Your code here
renamed = reviews.rename(columns={'region_1': 'region', 'region_2': 'locale'})

2. 修改索引名称

将数据集中的索引名称设置为wines

reindexed = reviews.rename_axis("wines", axis='rows')

它将 DataFrame 的行索引(axis=‘rows’)重命名为“wines”

3. 列表组合

Things on Reddit数据集包括来自reddit.com上顶级论坛(“subreddits”)的产品链接。运行下面的单元格,加载一个在/r/gaming子Reddit上提到的产品的框架,以及另一个在r//movies子Reddit上提到的产品的框架。

gaming_products = pd.read_csv("../input/things-on-reddit/top-things/top-things/reddits/g/gaming.csv")
gaming_products['subreddit'] = "r/gaming"
movie_products = pd.read_csv("../input/things-on-reddit/top-things/top-things/reddits/m/movies.csv")
movie_products['subreddit'] = "r/movies"

创建一个DataFrame的产品上提到的任一subreddit。

combined_products = pd.concat([gaming_products, movie_products])
  • pandas 库的 concat 函数将两个 DataFrame(gaming_products 和 movie_products)进行拼接。默认情况下,pd.concat 会沿着行的轴(axis=0)将两个 DataFrame 叠加在一起,形成一个新的 DataFrame。

  • 这行代码使用 pandas 库的 concat 函数将两个 DataFrame(gaming_products 和 movie_products)进行拼接。默认情况下,pd.concat 会沿着行的轴(axis=0)将两个 DataFrame 叠加在一起,形成一个新的 DataFrame。

如果这两个 DataFrame 的列名相同,它们的内容会按行合并;如果列名不同,结果 DataFrame 会包含所有列,缺失的值会填充为 NaN。

4. 设置两个表相同索引并组合

Kaggle上的举重数据库数据集包括一个用于举重比赛的CSV表和一个单独的用于举重比赛的CSV表。运行下面的单元格,将这些数据集加载到嵌套框架中:

powerlifting_meets = pd.read_csv("../input/powerlifting-database/meets.csv")
powerlifting_competitors = pd.read_csv("../input/powerlifting-database/openpowerlifting.csv")

这两个表都包括对MeetID的引用,MeetID是数据库中包含的每个会议(比赛)的唯一键。使用此方法,生成一个将两个表合并为一个的数据集。

powerlifting_combined = powerlifting_meets.set_index("MeetID").join(powerlifting_competitors.set_index("MeetID"))
  1. powerlifting_meets.set_index("MeetID"):将 powerlifting_meets DataFrame 的 MeetID 列设置为索引。
  2. powerlifting_competitors.set_index("MeetID"):同样将 powerlifting_competitors DataFrame 的 MeetID 列设置为索引。
  3. .join(...):在第一个 DataFrame(设置了 MeetID 作为索引的 powerlifting_meets)上执行连接操作,将第二个 DataFrame(设置了 MeetID 作为索引的 powerlifting_competitors)的行与之匹配。

结果是一个新的 DataFrame,包含了两个表中与 MeetID 相同的行的数据,合并成一张表。

在这里插入图片描述


http://www.kler.cn/a/376708.html

相关文章:

  • brew 下载过慢, 切换使用国内源
  • 2024系统架构师---综合题考试真题答案
  • 基于AI深度学习的中医针灸实训室腹针穴位智能辅助定位系统开发
  • 【3】流程控制
  • 阐述对鸿蒙生态的认知和了解,并对鸿蒙生态的崛起进行简要分析
  • 【spring】Cookie和Session的设置与获取(@CookieValue()和@SessionAttribute())
  • STM32G4 双ADC模式之常规同步模式独立注入模式
  • 《使用Gin框架构建分布式应用》阅读笔记:p307-p392
  • 淘宝商品描述,一键“爬”回家 —— Java爬虫的奇妙冒险
  • [论文阅读]Generalizable Humanoid Manipulation with Improved 3D Diffusion Policies
  • C#调用webService接口
  • Java日志脱敏——基于logback MessageConverter实现
  • mac|安装redis及RedisDesk可视化软件
  • Threejs 实现 VR 看房完结
  • Chromium 在WebContents中添加自定义数据c++
  • 中间件的应用
  • 精准医疗沟通新体验:开源语音识别(ASR)如何提升医生与患者对话
  • ssm038汽车养护管理系统+jsp(论文+源码)_kaic
  • 图文深入介绍Oracle DB link(二)
  • 深度学习之网络与计算
  • 《逆向记录》
  • 【Java爬虫的淘宝寻宝记】—— 淘宝商品类目的“藏宝图”
  • 【设计模式】策略模式定义及其实现代码示例
  • Java使用apache.commons.io框架下的FileUtils类实现文件的写入、读取、复制、删除
  • Git 使用指南:从基础到实战
  • 机器人领域中的scaling law:通过复现斯坦福机器人UMI——探讨数据规模化定律(含UMI的复现关键)