如果在python的数据框中为NaN,则删除单元格 [英] Dropping cell if it is NaN in a Dataframe in python

查看:343
本文介绍了如果在python的数据框中为NaN,则删除单元格的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个这样的数据框。

I have a dataframe like this.

   Project 4    Project1    Project2    Project3
0   NaN         laptio          AB      NaN
1   NaN         windows         ten     NaN
0   one         NaN             NaN
1   two         NaN             NaN

我要从项目4列中删除NaN值

I want to delete NaN values from Project 4 column

我想要的输出应该是

df,

   Project 4    Project1    Project2    Project3
0   one         laptio          AB      NaN
1   two         windows         ten     NaN
0                   NaN        NaN       NaN
1                NaN            NaN


推荐答案

如果数据框的索引只是标准的0到n个有序整数,则可以将 Project4 列弹出到系列中,然后将 NaN 值,重置索引,然后将其与数据框合并回去。

If your data frame's index is just standard 0 to n ordered integers, you can pop the Project4 column to a series, drop the NaN values, reset the index, and then merge it back with the data frame.

import pandas a pd

df = pd.DataFrame([[pd.np.nan, 1,2,3],
                   [pd.np.nan, 4,5,6],
                   ['one',7,8,9],
                   ['two',10,11,12]], columns=['p4','p1','p2','p3'])

s = df.pop('p4')
pd.concat([df, ps.dropna().reset_index(drop=True)], axis=1)

# returns:
   p1  p2  p3   p4
0   1   2   3  one
1   4   5   6  two
2   7   8   9  NaN
3  10  11  12  NaN

这篇关于如果在python的数据框中为NaN,则删除单元格的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆