【问题标题】:Save dataframe to csv without NaN values, Python将数据框保存到没有 NaN 值的 csv,Python
【发布时间】:2021-11-16 02:25:35
【问题描述】:

我有一个包含 3 列(Col1Col2Col3)的数据框,我使用以下代码对其进行了预处理:

df.groupby(['Col1', 'Col2']).agg(",".join).reset_index()

df = pd.concat([df, df['Col3'].str.split(',', expand=True)], axis=1)

cols = ['Col1', 'Col2', 'Col3']
df = df.drop(cols, axis=1)

df = df.fillna(value=np.nan)

产生了这个数据框:

然后我把它导出到data.csv:

df.to_csv('data.csv', index=False, header=False)

当我在记事本中打开data.csv 时,它看起来像这样:

我不希望文件中每一行末尾的尾随逗号或空值。

这就是我希望 CSV 文件的样子:

【问题讨论】:

    标签: python pandas dataframe csv


    【解决方案1】:

    在编写 CSV 文件之前尝试添加此行:

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

    【讨论】:

    • 但是也有一些行最多有 11 个项目对应于这 11 列。因此,我不能删除整个列。我只需要项目而不是项目列表末尾的所有额外逗号@user17242583
    • @d98p 再试一次我的回答。如果它仍然不起作用,我们需要做一些其他的事情,这起作用。
    猜你喜欢
    • 2018-09-11
    • 2019-03-06
    • 2020-12-09
    • 1970-01-01
    • 2018-02-20
    • 2017-11-01
    • 2021-05-16
    • 2020-06-15
    • 2016-01-05
    相关资源
    最近更新 更多