拆分 Pandas DataFrame

您所在的位置:网站首页 pandas一行拆分多行 拆分 Pandas DataFrame

拆分 Pandas DataFrame

2024-06-18 04:12:28| 来源: 网络整理| 查看: 265

使用行索引分割 DataFrame 使用 groupby() 方法拆分 DataFrame 使用 sample() 方法拆分 DataFrame

本教程解釋瞭如何使用行索引、DataFrame.groupby() 方法和 DataFrame.sample() 方法將一個 DataFrame 分割成多個較小的 DataFrame。

我們將使用下面的 apprix_df DataFrame 來解釋如何將一個 DataFrame 分割成多個更小的 DataFrame。

import pandas as pd apprix_df = pd.DataFrame( { "Name": ["Anish", "Rabindra", "Manish", "Samir", "Binam"], "Post": ["CEO", "CTO", "System Admin", "Consultant", "Engineer"], "Qualification": ["MBA", "MS", "MCA", "PhD", "BE"], } ) print("Apprix Team DataFrame:") print(apprix_df, "\n")

輸出:

Apprix Team DataFrame: Name Post Qualification 0 Anish CEO MBA 1 Rabindra CTO MS 2 Manish System Admin MCA 3 Samir Consultant PhD 4 Binam Engineer BE 使用行索引分割 DataFrame import pandas as pd apprix_df = pd.DataFrame( { "Name": ["Anish", "Rabindra", "Manish", "Samir", "Binam"], "Post": ["CEO", "CTO", "System Admin", "Consultant", "Engineer"], "Qualification": ["MBA", "MS", "MCA", "PhD", "BE"], } ) print("Apprix Team DataFrame:") print(apprix_df, "\n") apprix_1 = apprix_df.iloc[:2, :] apprix_2 = apprix_df.iloc[2:, :] print("The DataFrames formed by splitting of Apprix Team DataFrame are: ", "\n") print(apprix_1, "\n") print(apprix_2, "\n")

輸出:

Apprix Team DataFrame: Name Post Qualification 0 Anish CEO MBA 1 Rabindra CTO MS 2 Manish System Admin MCA 3 Samir Consultant PhD 4 Binam Engineer BE The DataFrames formed by splitting the Apprix Team DataFrame are: Name Post Qualification 0 Anish CEO MBA 1 Rabindra CTO MS Name Post Qualification 2 Manish System Admin MCA 3 Samir Consultant PhD 4 Binam Engineer BE

它使用行索引將 DataFrame apprix_df 分成兩部分。第一部分包含 apprix_df DataFrame 的前兩行,而第二部分包含最後三行。

我們可以在 iloc 屬性中指定每次分割的行。[:2,:] 表示選擇索引 2 之前的行(索引 2 的行不包括在內)和 DataFrame 中的所有列。因此,apprix_df.iloc[:2,:] 選擇 DataFrame apprix_df 中索引 0 和 1 的前兩行。

使用 groupby() 方法拆分 DataFrame import pandas as pd apprix_df = pd.DataFrame( { "Name": ["Anish", "Rabindra", "Manish", "Samir", "Binam"], "Post": ["CEO", "CTO", "System Admin", "Consultant", "Engineer"], "Qualification": ["MBA", "MS", "MS", "PhD", "MS"], } ) print("Apprix Team DataFrame:") print(apprix_df, "\n") groups = apprix_df.groupby(apprix_df.Qualification) ms_df = groups.get_group("MS") mba_df = groups.get_group("MBA") phd_df = groups.get_group("PhD") print("Group with Qualification MS:") print(ms_df, "\n") print("Group with Qualification MBA:") print(mba_df, "\n") print("Group with Qualification PhD:") print(phd_df, "\n")

輸出:

Apprix Team DataFrame: Name Post Qualification 0 Anish CEO MBA 1 Rabindra CTO MS 2 Manish System Admin MS 3 Samir Consultant PhD 4 Binam Engineer MS Group with Qualification MS: Name Post Qualification 1 Rabindra CTO MS 2 Manish System Admin MS 4 Binam Engineer MS Group with Qualification MBA: Name Post Qualification 0 Anish CEO MBA Group with Qualification PhD: Name Post Qualification 3 Samir Consultant PhD

它根據 Qualification 列的值將 DataFrame apprix_df 分成三部分。Qualification 列值相同的行將被放在同一個組中。

groupby() 函式將根據 Qualification 列的值形成分組。然後我們使用 get_group() 方法提取被 groupby() 方法分組的行。

使用 sample() 方法拆分 DataFrame

我們可以通過使用 sample() 方法從 DataFrame 中隨機抽取行來形成一個 DataFrame。我們可以設定從父 DataFrame 中抽取行的比例。

import pandas as pd apprix_df = pd.DataFrame( { "Name": ["Anish", "Rabindra", "Manish", "Samir", "Binam"], "Post": ["CEO", "CTO", "System Admin", "Consultant", "Engineer"], "Qualification": ["MBA", "MS", "MS", "PhD", "MS"], } ) print("Apprix Team DataFrame:") print(apprix_df, "\n") random_df = apprix_df.sample(frac=0.4, random_state=60) print("Random split from the Apprix Team DataFrame:") print(random_df)

輸出:

Apprix Team DataFrame: Name Post Qualification 0 Anish CEO MBA 1 Rabindra CTO MS 2 Manish System Admin MS 3 Samir Consultant PhD 4 Binam Engineer MS Random split from the Apprix Team DataFrame: Name Post Qualification 0 Anish CEO MBA 4 Binam Engineer MS

它從 apprix_df DataFrame 中隨機抽取 40% 的行,然後顯示由抽取的行形成的 DataFrame。設定 random_state 是為了確保每次抽樣都能得到相同的隨機樣本。



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭