如何在熊猫中创建数据透视表

时间:2019-11-20 04:12:28

标签: python dataframe pivot-table

我有一个数据框“ annual_stats”,需要将其重塑为数据透视表。在附件中,您可以看到它的当前外观以及重塑后的外观。 what the dataframe is currently

what it needs to look like

1 个答案:

答案 0 :(得分:1)

有两种方法可以实现这一目标,

class Test(QtWidgets.QWidget):
    def __init__(self):
        super().__init__()
        layout = QtWidgets.QGridLayout(self)

        layout.addWidget(QtWidgets.QLabel('basic border-image'), 0, 0, QtCore.Qt.AlignCenter)
        borderButton = QtWidgets.QPushButton()
        layout.addWidget(borderButton, 1, 0, QtCore.Qt.AlignCenter)
        borderButton.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
        borderButton.setFixedSize(120, 120)
        borderButton.setStyleSheet('''
            border-image: url(play.png);
        ''')

        layout.addItem(QtWidgets.QSpacerItem(120, 0, QtWidgets.QSizePolicy.Expanding))
        layout.addWidget(QtWidgets.QLabel('expanded border-image'), 0, 1, QtCore.Qt.AlignCenter)
        borderButtonExpanded = QtWidgets.QPushButton()
        layout.addWidget(borderButtonExpanded, 1, 1)
        borderButtonExpanded.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
        borderButtonExpanded.setStyleSheet('''
            border-image: url(play.png) 60 60 60 60;
            border-top: 60px transparent;
            border-bottom: 60px transparent;
            border-right: 60px transparent;
            border-left: 60px transparent;
        ''')

        layout.addItem(QtWidgets.QSpacerItem(0, 10))
        layout.addWidget(QtWidgets.QLabel('paintEvent implementation'), 2, 0, 1, 2, QtCore.Qt.AlignCenter)
        pmButton = PixmapButton()
        layout.addWidget(pmButton, 3, 0, 1, 2)
        pmButton.setMinimumSize(120, 120)
        pmButton.setStyleSheet('''
            QPushButton {
                qproperty-pixmap: url(play.png);
                /* hover mode: while there's no border shown, we can set the 
                default radius for the hover and pressed statuses */
                border: none;
                border-radius: 4px;
            }
            /* show border only if hovered or is checkable */
            QPushButton:hover, QPushButton[checkable="true"] {
                border: 1px outset green;
            }
            QPushButton:pressed, QPushButton:checked {
                border: 1px inset green;
            }
        ''')

        pmButton2 = PixmapButton()
        layout.addWidget(pmButton2, 4, 0, 1, 2)
        pmButton2.setCheckable(True)
        pmButton2.setMinimumSize(120, 120)
        pmButton2.setStyleSheet(pmButton.styleSheet())