前言
有时候希望根据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)
总结
如果您发现我写的有错误,欢迎在评论区批评指正。