【问题标题】:Pandas dataframe drop columns with no header熊猫数据框删除没有标题的列
【发布时间】:2019-03-05 05:23:57
【问题描述】:

在标题行为 NaN 的数据框中删除列的最 Pythonic 的位置是什么?最好就地。

列中可能有数据,也可能没有数据。

df = pd.DataFrame({'col1': [1,2,np.NaN], 'col2': [4,5,6], np.NaN: [7,np.NaN,9]})
df.dropna(axis='columns', inplace=True)  

不这样做,因为它查看列中的数据。

想要的输出

df = pd.DataFrame({'col1': [1,2,np.NaN], 'col2': [4,5,6]})

提前感谢您的回复。

【问题讨论】:

    标签: python pandas dataframe indexing nan


    【解决方案1】:

    试试这个

    df.drop(np.nan, axis=1, inplace=True)
    

    但是,如果“无标题”包含 None,那么 jpp 的答案将一次性完美运行。 甚至,如果您有多个 np.nan 标头,我不知道如何使 df.drop 工作。

    【讨论】:

    • 为什么要作为列表传递?
    • 习惯:D。不必。感谢您的完美!
    【解决方案2】:

    你可以使用pd.Index.dropna:

    df = df[df.columns.dropna()]
    
    print(df)
    
       col1  col2
    0   1.0     4
    1   2.0     5
    2   NaN     6
    

    【讨论】:

      猜你喜欢
      • 2016-08-09
      • 1970-01-01
      • 2018-11-06
      • 2020-05-26
      • 1970-01-01
      • 2013-10-04
      • 2020-01-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多