如何在Pandas DataFrame的Col2列中添加Col1与Col3的比值(换行形式)
实现方法
要达到你想要的效果,只需通过字符串拼接将比值附加到Col2的原始值后,再设置Pandas显示换行即可,具体步骤如下:
计算比值并拼接字符串
先计算每行Col1/Col3的比值,保留两位小数后格式化为带括号的缩进字符串,再和Col2的原始值用换行符\n拼接:import pandas as pd data = {'Col1': [232, 348, 649], 'Col2': [1500, 1550, 1600], 'Col3': [330, 290, 668]} df = pd.DataFrame(data) # 拼接Col2原始值与格式化后的比值 df['Col2'] = df['Col2'].astype(str) + '\n (' + (df['Col1'] / df['Col3']).round(2).astype(str) + ')'让Pandas显示换行内容
默认情况下Pandas会忽略单元格内的换行符,需要通过样式设置让换行生效:# 在终端或脚本中打印时,用Styler确保换行显示 print(df.style.set_properties(**{'white-space': 'pre-wrap'})) # 若在Jupyter Notebook中,直接运行以下代码即可看到格式化效果 df.style.set_properties(**{'white-space': 'pre-wrap'})
执行后,Col2列会显示原始数值,下方换行显示缩进的比值,和你给出的示例效果一致。
内容的提问来源于stack exchange,提问作者Brijesh Chaurasia
相关产品推荐
相关产品推荐

