【问题标题】:Create a new Excel spreadsheet with Nan vaules使用 Nan 值创建一个新的 Excel 电子表格
【发布时间】:2021-01-13 20:44:45
【问题描述】:

第一次在这里发Python相关的问题,请多多包涵。

我有一个包含很多行和列的 panda 数据框,我想用 Nan 值创建一个新的 Excel 电子表格(使用 xlsxwriter)。

例如在我有 NameAgeJobAddressCountry 的行中。 我想创建一个新的 Excel 文档,其中只有 Job == Nan/blank 的行和列。

我不想使用 .fillna 填充 nan,只想查看数据集中没有列出 Job 的每个人。

我希望你能帮助我,如果我的问题令人困惑,我很抱歉,英语不是我的第一语言,而且我对 Python 和 Pandas 真的很陌生。

【问题讨论】:

标签: python pandas


【解决方案1】:

如果我理解您的问题,您可能希望过滤数据框以保留列 Jobis Nan/blank 的行。

这是一个例子。

df = pd.DataFrame(np.random.rand(5, 5), columns = ['Name', 'Age', 'Job', 'Address', 'Country'])
print(df)



      Name       Age       Job   Address   Country
0  0.544757  0.874998  0.592347  0.752700  0.949128
1  0.661037  0.378120  0.235350  0.420469  0.737738
2  0.944081  0.864771  0.084817  0.029996  0.262594
3  0.047762  0.903625  0.940079  0.215649  0.631589
4  0.160029  0.838065  0.560037  0.978875  0.445476

您现在可以过滤:

df['Job'] = ['a', 'b', np.nan, 'c', 'd']
df_sol = df[df['Job'].isnull()]
print(df_sol)

返回:

       Name       Age  Job   Address   Country
2  0.944081  0.864771  NaN  0.029996  0.262594

现在您可以保存文件了:

df_sol.to_excel("fpath.xlsx")

【讨论】:

    【解决方案2】:

    根据条件对数据框进行子集化,然后将该数据框写入excel-

    df_nan_job = df[pd.isnull(df.Job)]
    df_nan_job.to_excel("filename.xlsx")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-09
      • 2013-04-21
      • 1970-01-01
      • 2022-08-22
      • 1970-01-01
      相关资源
      最近更新 更多