【问题标题】:Dropping nan string-columns in panda dataframe在熊猫数据框中删除 nan 字符串列
【发布时间】:2021-09-02 23:08:57
【问题描述】:

我想删除所有“nan”列(如图像上的第一个),因为它不包含任何信息。我试过这个使用

df.dropna(how='all', axis=1, inplace=True) 

不幸的是没有效果。我担心可能是这种情况,因为我必须使用将我的 df 转换为字符串

df = df.applymap(str)

Thread 表明 dropna 在这种情况下不起作用,这对我来说很有意义。 我尝试使用以下方法遍历列:

for i in range(len(list(df))):
    if df.iloc[:,i].str.contains('nan').all():
        df.drop(columns=i,axis=1, inplace=True)

这似乎不起作用。任何帮助如何删除这些列(和行,因为这也不起作用)非常感谢

【问题讨论】:

  • 试试df.replace('nan', np.nan).dropna(how='all', axis=1, inplace=True)
  • 这项工作很好,非常感谢!

标签: python pandas


【解决方案1】:

IIUC,试试:

df.replace('nan', np.nan).dropna(how='all', axis=1, inplace=True)

这会将那些字符串 'nan' 替换为 np.nan 允许 dropna 按预期运行。

【讨论】:

    猜你喜欢
    • 2018-03-23
    • 2021-08-12
    • 2019-03-14
    • 2021-09-25
    • 1970-01-01
    • 1970-01-01
    • 2017-07-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多