我有一个数据集,某些人可以接受信用卡申请,而其他人则可以拒绝。
我想将数据集分为两个数据集;一张接受所有信用卡(card ='yes'),另一张拒绝所有信用卡(card ='no')。
数据集如下所示:
我该怎么做?
答案 0 :(得分:1)
这应该有效...
df1=credit5[credit5['card']=='yes'] #gets the subset of the df where all 'card' entries are yes
df2=credit5[credit5['card']=='no'] #gets the subset of the df where all 'card' entries are no
答案 1 :(得分:1)
一种选择是在groupby
理解内执行dict
操作。这具有为任意数量的类别工作的额外好处。
dfs_by_card = {
accepted: sub_df
for accepted, sub_df in credit5.groupby("card")
}
答案 2 :(得分:0)
这是另一种解决方案,与@Derek Eden解决方案没什么不同。
credit5=pd.DataFrame({'Card':['Yes','Yes','Yes', 'No', 'No', 'Yes', 'Yes', 'No', 'No', 'No'],'Age':[36, 35, 38, 38, 37, 37, 30, 30, 30, 33],'Income':[4.520, 2.420, 4.500, 2.540, 9.788, 5.268, 6.879, 7.852, 5.562, 4.789]}) #This is creating a dataframe
实际数据框:
Card Age Income
0 Yes 36 4.520
1 Yes 35 2.420
2 Yes 38 4.500
3 No 38 2.540
4 No 37 9.788
credit_no = credit5[(credit5['Card'] == 'No')]
输出:“否”
Card Age Income
3 No 38 2.540
4 No 37 9.788
7 No 30 7.852
8 No 30 5.562
9 No 33 4.789
credit_yes = credit5[(credit5['Card'] == 'Yes')]
输出:“是”
Card Age Income
0 Yes 36 4.520
1 Yes 35 2.420
2 Yes 38 4.500
5 Yes 37 5.268
6 Yes 30 6.879
让我知道这是否有帮助。