一个大的dataframe通过某一列的值分成几个小的dataframe

前言

有时候希望根据dataframe某一列的值分成几个小的dataframe,可以通过如下的方式进行操作。

一、分步骤

import pandas as pd
import numpy as np
pd.set_option('display.max_rows', 8)#行数设置为10000

#读取数据
data=pd.read_csv("data.csv")
data

在这里插入图片描述

data['label'].value_counts()#可以看到label有三类0,1,-1。而且都有对应的数量,下面按照这三类输出成新的小dataframe
 0    134
 1     56
-1      4
Name: label, dtype: int64
data_a=data[data['label'].isin([0])]
data_a#这样就得到了label=0的dataframe   同理可以得到label=1-1的项目

在这里插入图片描述
在这里插入图片描述

一步到位

sub_DF=[data[data['label'].isin([i])] for i in np.unique(data['label'])]
print(len(sub_DF))#这样就得到了sub_DF这个列表  里面存储了三个小的dataframe 可以list索引的方式拿到想要的小dataframe

3

for i in sub_DF:
    print(i)

在这里插入图片描述

总结

如果您发现我写的有错误,欢迎在评论区批评指正。

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值