【问题标题】:Saving Dataframe statistics into an Excel file将数据框统计信息保存到 Excel 文件中
【发布时间】:2021-07-14 05:24:42
【问题描述】:

我最近两周前学习了 Python,在过去的两周里学到了很多东西。我正在使用 Pandas 库过滤数据,这很棒!但是,我无法保存我的统计数据。

这是我的代码:

x53=df8['Header1'].max()
y53=df8['Header1'].min()
z53=df8['Header1'].mean()
k53=df8['Header1'].mode()

x55=df7['Header2'].max()
y55=df7['Header2'].min()
z55=df7['Header2'].mean()
k55=df7['Header2'].mode()

我正在寻找已过滤的不同列中的最大值、最小值、平均值和模式。

如何将这些数据写入 Excel 文件?我有更多的静态数据,它们位于不同的数据框中。但我希望能够使用我在 pandas 中计算的统计数据在 excel 中填充矩阵。

这是我迄今为止尝试过的: (1)

Data = [x53,y53,z53,k53]
df1.to_excel("another_100.xlsx", sheet_name="Filtered Data", index= False)

(2)

df = pd.DataFrame([['x0', 'y0','z0','k0'], ['x7', 'y7','z7','k7']],
                
               index=['row 1', 'row 2'],
               columns=['col 1', 'col 2','col 3','col 4'])

df.to_excel("outputzz.xlsx")

(3)

wb1 = xlwt.Workbook()
ws = wb1.add_sheet('sheet1')

ws.write(4, 0, x1)
ws.write(1, 0, y1)
ws.write(2, 0, z1)
ws.write(2, 1, k1)
ws.write(2, 2, 1)


wb1.save('yu.xlsx') 

谢谢,

埃德

【问题讨论】:

    标签: python excel pandas dataframe export-to-excel


    【解决方案1】:

    如果您只想将标量值存储在 excel 单元格中,这可行:

    df = {"col1":[1,1,1,1,1,2,2,2],'col2':[2,4,1,3,5,1,1,1]}
    
    df = pd.DataFrame(df)
    
    df.to_excel("another_100.xlsx", sheet_name="Filtered Data", index= False)
    

    另外,您可以按如下方式在单元格中添加矩阵(如果您希望这样添加)

    matrix1 = [[1,1],[1,1]]
    matrix2 = [[2,2],[2,2]]
    
    df = {"my_matrices":[matrix1,matrix2]}
    
    df = pd.DataFrame(df)
    
    df.to_excel("stats.xlsx", sheet_name="Filtered Data", index= False)
    

    【讨论】:

    • 谢谢!我使用了您所做的第二种方法,但我还有一个问题要问您。
    • 欢迎您,期待您的其他问题。
    【解决方案2】:

    pandas 确实是一个非常强大的模块。它旨在处理表格数据。但是,如果您只想将 list 保存为 CSV,则无需将 if first 转换为 pandas.DataFrame 对象。看看this 将 python 写入 CSV 的简短指南。

    你可以去

    # import module
    import csv 
    
    Data = [x53,y53,z53,k53]
    df1.to_excel(, sheet_name="Filtered Data", index= False)
    
    # open csv file for writing:
    with open("another_100.csv", 'w') as f:
        # create writer object
        write = csv.writer(f) 
        # write
        write.writerows(Data ) 
    # the file is automatically closed when the identation is closed/finished
    

    如果您喜欢写入 Excel 工作表,可以使用不同的特定模块。请参阅this 帖子。它建议使用XLWT,您可以在下面找到适合您需求的示例。

    import xlwt
    from tempfile import TemporaryFile
    
    # create workbook object
    book = xlwt.Workbook()
    sheet1 = book.add_sheet("Filtered Data")
    
    
    for i,e in enumerate(Data):
        sheet1.write(i,1,e)
    
    name = "another_100.xls" # does not support xlsx files
    book.save(name)
    book.save(TemporaryFile())
    

    【讨论】:

    • 您好,我正在使用 pandas 对 excel 文件中的数据进行切片。我必须根据一组列上的条目值过滤数据。有没有更好的方法来做到这一点?
    猜你喜欢
    • 1970-01-01
    • 2016-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多