如何从预选数据帧中删除只包含NaN的列

2024-09-30 14:34:34 发布

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

我想删除所有只包含NaN的列。这是我的示例代码:

rutte2[[u'50PLUS', u'AOV', u'Bontes', u'Bontes/Van Klaveren',
       u'Brinkman', u'CD', u'CDA', u'ChristenUnie', u'D66', u'De Jong',
       u'Eerdmans/Van Schijndel', u'GPV', u'GroenLinks', u'Hendriks',
       u'Houwers', u'Klein', u'Kortenoeven/Hernandez', u'Kuzu/Öztürk',
       u'Lazrak', u'LN', u'LPF', u'Nawijn', u'Nijpels', u'PvdA', u'PvdD',
       u'PVV', u'RPF', u'SGP', u'SP', u'Unie 55+', u'Van Klaveren',
       u'Van Oudenallen', u'Van Vliet', u'Verdonk', u'Verkerk', u'VVD',
       u'Wijnschenk', u'Wilders']].dropna(axis=1, how='all')

当我这么做的时候

type(rutte2[[u'50PLUS', u'AOV', u'Bontes', u'Bontes/Van Klaveren',
           u'Brinkman', u'CD', u'CDA', u'ChristenUnie', u'D66', u'De Jong',
           u'Eerdmans/Van Schijndel', u'GPV', u'GroenLinks', u'Hendriks',
           u'Houwers', u'Klein', u'Kortenoeven/Hernandez', u'Kuzu/Öztürk',
           u'Lazrak', u'LN', u'LPF', u'Nawijn', u'Nijpels', u'PvdA', u'PvdD',
           u'PVV', u'RPF', u'SGP', u'SP', u'Unie 55+', u'Van Klaveren',
           u'Van Oudenallen', u'Van Vliet', u'Verdonk', u'Verkerk', u'VVD',
           u'Wijnschenk', u'Wilders']])

它返回:

pandas.core.frame.DataFrame

下面是一张图片供进一步解释:

pandas screenshot

为什么这样不行?你知道吗


Tags: cddevanjongcdaaovgpvchristenunie
1条回答
网友
1楼 · 发布于 2024-09-30 14:34:34

所以“type”返回Python对象的类型,在您的例子中,它显然是一个数据帧。如果要打印数据帧,请使用

print rutte2

或者在python3.x中

print(rutte2)

dropna返回一个新的数据帧,删除了NaN的数据帧。如果要从rutte2中删除NaN,请使用:

(编辑:使用子集对选定列执行就地删除)

rutte2.dropna(subset=[u'50PLUS', u'AOV', u'Bontes', u'Bontes/Van Klaveren',
       u'Brinkman', u'CD', u'CDA', u'ChristenUnie', u'D66', u'De Jong',
       u'Eerdmans/Van Schijndel', u'GPV', u'GroenLinks', u'Hendriks',
       u'Houwers', u'Klein', u'Kortenoeven/Hernandez', u'Kuzu/Öztürk',
       u'Lazrak', u'LN', u'LPF', u'Nawijn', u'Nijpels', u'PvdA', u'PvdD',
       u'PVV', u'RPF', u'SGP', u'SP', u'Unie 55+', u'Van Klaveren',
       u'Van Oudenallen', u'Van Vliet', u'Verdonk', u'Verkerk', u'VVD',
       u'Wijnschenk', u'Wilders'], axis=1, how='all', inplace=True)

是否确定rutte2不是空数据帧:-)?你知道吗

相关问题 更多 >