【问题标题】:Text formatting on pandas pivot table熊猫数据透视表上的文本格式
【发布时间】:2016-10-12 01:02:05
【问题描述】:

我正在创建一个数据框,然后将该数据框转换为数据透视表。数据透视表中的文本和列标题在我的结果中居中对齐。我想将文本设置为“左”。你能帮忙吗?我试过df.to_string(justify = 'true'),但它会引发"'Unicode' object has no attribute 'columns'"的属性错误

这是我的数据框:

df = DataFrame({'Customer': CustomerCOL,'Title': titleCOL,'count':countCOL})
table = pivot_table(df,index = ['Customer','Title'],values='count')

【问题讨论】:

  • text 到底是什么意思?您可以发布您不喜欢的输出并尝试显示您想要的输出吗?您的解释不足以给您答案。
  • 嗨,乔,我指的是 excel 单元格中的数据。例如:在我将数据框转换为数据透视表之后。我正在将数据写回excel。在 excel 方面,数据的对齐或对齐是“中心”。我想将数据对齐到“左”。这有帮助吗?我正在尝试附加具有当前和预期输出的示例数据,但我在这里看不到附件选项。

标签: python pandas pymongo


【解决方案1】:

我认为您需要在to_string 中将参数justify 设置为left

import pandas as pd

df = pd.DataFrame({'Customer': ['Ann Green', 'Joseph Smith', 'Ann Green'],
                'Title': ['Ms', 'Mr', 'Ms'],
                'count':[4, 6, 7]})
print (df) 
       Customer Title  count
0     Ann Green    Ms      4
1  Joseph Smith    Mr      6
2     Ann Green    Ms      7

table = pd.pivot_table(df,index = ['Customer','Title'],values='count').reset_index()
print (table)
       Customer Title  count
0     Ann Green    Ms    5.5
1  Joseph Smith    Mr    6.0

print (table.to_string(justify = 'left'))
  Customer      Title  count
0     Ann Green  Ms    5.5  
1  Joseph Smith  Mr    6.0  

【讨论】:

  • 您好,感谢您的回复,左侧的“display.colheader_justify”仅适用于列标题而不是实际数据。
  • 嘿,再次感谢,我试过了,但遇到了这个错误“如果 len(to_filter)
  • 另外,我正在通过执行此 writer = ExcelWriter("FilePath"+ ".xlsx") table.to_frame("").to_excel(writer,sheet_name= "Sheet1" writer.save()
  • 问题是我的测试数据作为答案还是你的真实数据?
  • 问题出在我的真实数据上。
猜你喜欢
  • 2021-02-28
  • 2023-01-11
  • 2018-09-15
  • 2017-01-14
  • 2019-04-28
  • 2012-04-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多