有没有办法在python中将数据框样式器对象转换为数据框

Roo*_*ohi 5 python pandas

我已将 xlsx 数据提取到 Pandas 数据框中,并使用 style.format 将特定列格式化为百分比和美元。所以现在我的数据框被转换为 styler 对象,因为我需要将此数据解析为 csv。我必须将此对象转换为数据框,请帮忙。

下面是代码和输出:

import pandas as pd
import numpy as np

file_path = "./sample_data.xlsx"

df = pd.read_excel(file_path, sheet_name = "Channel",skiprows=10, header = 
[0,1,2])

dollar_cols = ['SalesTY', 'SalesLY','InStoreTY', 'InStoreLY','eCommTY']

dollar_dict = {}
for dollar_col in dollar_cols: 
    formatdict[dollar_col] = "${:,.0f}"
    final_df = df.style.format(formatdict)
Run Code Online (Sandbox Code Playgroud)

这里 final_df 将列转换为美元,但我无法将其转换为 csv 或数据框。它现在是一个样式对象,我需要再次将其转换为数据框。任何帮助表示赞赏。谢谢。

tom*_*zer 17

您可以使用“data”属性从样式器对象中检索原始数据帧。

在你的例子中:

df = final_df.data

type(df)产量

pandas.core.frame.DataFrame

  • 此方法有效,但在此过程中您会丢失格式。 (6认同)
  • 如何获得具有正确新格式的新数据框? (4认同)
  • 是的。问题是取回原始数据框。格式当然是在提问者已经拥有的样式对象中。 (2认同)