同时删除行和列Pandas Datafram

2024-09-29 21:29:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个类似这样的数据帧

Victim Sex       Female    Male  Unknown
Perpetrator Sex                         
Female            10850   37618       24
Male              99354  299781       92
Unknown           33068  156545      148

我计划删除索引为'Unknown'的行和名为'Unknown的列。我知道如何删除行和列,但我想知道您是否可以在pandas中同时删除行和列?如果是,怎么能做到?在


Tags: 数据pandasmalefemaleunknown计划行和列sex
3条回答

您可以在一行中同时删除列和行,只需显示它们的位置。例如,如果要删除列2、3和5,同时要删除索引0、1和3以及数据帧的最后一行,可以通过以下方法来完成:

df.drop(df.columns[[2,3,5]], axis = 1).drop(df.index[[0,1,3,-1]])

我认为最接近的'at the same time'是由^{}和{a2}选择的:

print (df.index.difference(['Unknown']))
Index(['Female', 'Male'], dtype='object')

print (df.columns.difference(['Unknown']))
Index(['Female', 'Male'], dtype='object')

df = df.loc[df.index.difference(['Unknown']), df.columns.difference(['Unknown'])]
print (df)
Victim Sex       Female    Male
Perpetrator Sex                
Female            10850   37618
Male              99354  299781

这应该可以完成这项工作,但是它并不是同时进行的,但是没有中间对象返回给您。在

df.drop("Unknown", axis=1).drop("Unknown", axis=0)

所以举个具体的例子:

^{pr2}$

电话

df.drop('B', axis=1).drop('C', axis=0)

退货

   A
D  3

相关问题 更多 >

    热门问题