Python 如何将背景色添加到熊猫数据框的特定列中,并将该彩色数据框保存到同一csv中?
我有一个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读取器对其进行解
to_CSV
方法将最终数据帧保存到同一个CSV。问题是我想给一些列添加背景色,我该怎么做
我强烈建议阅读
要查看列名设置样式的示例,请参阅
样式
与应用
多色
在列名中保存颜色元数据
另存为
HTML
我强烈建议阅读
要查看列名设置样式的示例,请参阅
样式
与应用
多色
在列名中保存颜色元数据
另存为
HTML
csv不保存有关列的颜色信息。您需要将颜色信息保存为另一列或在列名中,并使用自定义csv读取器对其进行解析。我想说的是,csv并不是你想要它做的,为了让它做,它会变得丑陋。你能告诉我如何为整个特定列添加颜色,包括列名称和数据框的所有值吗?意味着如何在Dataframetry中使用/google
pd.ExcelWriter
,将结果保存在.xlsx中,将允许您为列背景着色。csv不保存有关列的颜色信息。您需要将颜色信息保存为另一列或在列名中,并使用自定义csv读取器对其进行解析。我想说的是,csv并不是你想要它做的,为了让它做,它会变得丑陋。你能告诉我如何为整个特定列添加颜色,包括列名称和数据框的所有值吗?这意味着如何使用/googlepd.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())