按行和列排序的显示表[重复]
Posted
技术标签:
【中文标题】按行和列排序的显示表[重复]【英文标题】:Display table ordered by row and columns [duplicate] 【发布时间】:2022-01-02 02:27:27 【问题描述】:我正在努力显示一个包含从数据库发出的数据的 html 表格。 我只是使用 SELECT 和 Join multiples 表检索数据。 检索数据如下:
StorageLocation | Quantity | RiskPhrase |
---|---|---|
Storage1 | 10 | H225 |
Storage2 | 4 | H225 |
Storage1 | 3 | H226 |
Storage3 | 3 | H226 |
Storage4 | 3 | H226 |
Storage4 | 3 | H300 |
我想这样显示:
StorageLocation | H225 | H226 | H300 |
---|---|---|---|
Storage1 | 10 | 0 | 3 |
Storage2 | 4 | 0 | 0 |
Storage3 | 0 | 3 | 0 |
Storage4 | 0 | 3 | 3 |
我真的不知道如何处理这个问题。 Dataframe 是最好的解决方案吗? 您的帮助将不胜感激。 谢谢
【问题讨论】:
如果您可以控制查询,我建议您在那里进行排序。您可能需要一个自联接和一个外部联接来获得您所追求的。 您真的希望 H225 列在您的输出中列出两次吗?我认为您的输入与示例中的输出不匹配。 抱歉有点失误。现在已更正 【参考方案1】:IIUC,你要pivot
:
>>> df.pivot("StorageLocation", "RiskPhrase", "Quantity").fillna(0).rename_axis(None, axis=1)
H225 H226 H300
StorageLocation
Storage1 10.0 3.0 0.0
Storage2 4.0 0.0 0.0
Storage3 0.0 3.0 0.0
Storage4 0.0 3.0 3.0
【讨论】:
感谢您的回复。我会试试的 它运行良好。谢谢!以上是关于按行和列排序的显示表[重复]的主要内容,如果未能解决你的问题,请参考以下文章