我想删除所有只包含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
以下是进一步说明的图片:
为什么这不起作用?
答案 0 :(得分:0)
所以"输入"返回Python对象的类型,显然在你的情况下是一个pandas Dataframe。如果要打印数据框,请使用
print rutte2
或在Python 3.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不是一个空的数据帧:-)?