【问题标题】:Dropping cell if it is NaN in a Dataframe in python如果在 python 的 Dataframe 中为 NaN,则删除单元格
【发布时间】:2018-01-06 21:41:55
【问题描述】:

我有一个这样的数据框。

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

我想从 Project 4 列中删除 NaN 值

我想要的输出应该是,

df,

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

【问题讨论】:

标签: python pandas dataframe data-analysis


【解决方案1】:

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

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

【讨论】:

  • 我可以用这个 dropna() 尝试追加而不是连接
猜你喜欢
  • 2022-11-24
  • 2019-06-18
  • 1970-01-01
  • 1970-01-01
  • 2016-12-31
  • 2015-10-03
  • 1970-01-01
  • 2022-07-05
  • 1970-01-01
相关资源
最近更新 更多