Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将背景色添加到熊猫数据框的特定列中,并将该彩色数据框保存到同一csv中?_Python_Python 3.x_Pandas_Csv_Dataframe - Fatal编程技术网

Python 如何将背景色添加到熊猫数据框的特定列中,并将该彩色数据框保存到同一csv中?

Python 如何将背景色添加到熊猫数据框的特定列中,并将该彩色数据框保存到同一csv中?,python,python-3.x,pandas,csv,dataframe,Python,Python 3.x,Pandas,Csv,Dataframe,我有一个CSV文件,我添加代码来处理其中的数据,并知道如何使用to_CSV方法将最终数据帧保存到同一个CSV。问题是我想给一些列添加背景色,我该怎么做 我强烈建议阅读 要查看列名设置样式的示例,请参阅 样式与应用 多色 在列名中保存颜色元数据 另存为HTML 我强烈建议阅读 要查看列名设置样式的示例,请参阅 样式与应用 多色 在列名中保存颜色元数据 另存为HTML csv不保存有关列的颜色信息。您需要将颜色信息保存为另一列或在列名中,并使用自定义csv读取器对其进行解

我有一个CSV文件,我添加代码来处理其中的数据,并知道如何使用
to_CSV
方法将最终数据帧保存到同一个CSV。问题是我想给一些列添加背景色,我该怎么做


我强烈建议阅读
要查看列名设置样式的示例,请参阅


样式
应用


多色


在列名中保存颜色元数据


另存为
HTML

我强烈建议阅读
要查看列名设置样式的示例,请参阅


样式
应用


多色


在列名中保存颜色元数据


另存为
HTML

csv不保存有关列的颜色信息。您需要将颜色信息保存为另一列或在列名中,并使用自定义csv读取器对其进行解析。我想说的是,csv并不是你想要它做的,为了让它做,它会变得丑陋。你能告诉我如何为整个特定列添加颜色,包括列名称和数据框的所有值吗?意味着如何在Dataframetry中使用/google
pd.ExcelWriter
,将结果保存在.xlsx中,将允许您为列背景着色。csv不保存有关列的颜色信息。您需要将颜色信息保存为另一列或在列名中,并使用自定义csv读取器对其进行解析。我想说的是,csv并不是你想要它做的,为了让它做,它会变得丑陋。你能告诉我如何为整个特定列添加颜色,包括列名称和数据框的所有值吗?这意味着如何使用/google
pd.ExcelWriter
在Dataframetry中获得所提到的类似图像的输出,将结果保存在.xlsx中将允许您为列背景着色。我尝试了上述代码,但在打印时,pycharm给了我一个正常的数据框,没有像你在IDLE中显示的一样的彩色df,我也尝试了上面的代码,但是当我打印时,pycharm给了我一个正常的数据框,没有像你在IDLE中显示的一样的彩色df
df = pd.DataFrame([[0, 1], [2, 3]], ['A', 'B'], ['X', 'Y'])

def f(dat, c='red'):
    return [f'background-color: {c}' for i in dat]

df.style.apply(f, axis=0, subset=['X'])
columns_with_color_dictionary = {'X': 'green', 'Y': 'cyan'}

style = df.style
for column, color in columns_with_color_dictionary.items():
    style = style.apply(f, axis=0, subset=column, c=color)
style
df.rename(columns=lambda x: f"{x}_{columns_with_color_dictionary.get(x)}") \
  .to_csv('colorful_df.csv')

df_color = pd.read_csv('colorful_df.csv', index_col=0)

cmap = dict([c.split('_', 1) for c in df_color])
df_color.columns = df_color.columns.str.split('_', 1).str[0]

style = df_color.style
for column, color in cmap.items():
    style = style.apply(f, axis=0, subset=column, c=color)
style
from IPython.display import HTML

columns_with_color_dictionary = {'X': 'yellow', 'Y': 'orange'}

style = df.style
for column, color in columns_with_color_dictionary.items():
    style = style.apply(f, axis=0, subset=column, c=color)

with open('df.html', 'w') as fh:
    fh.write(style.render())

HTML(open('df.html').read())