小编Ala*_*lan的帖子

Pandas:在最后一次出现时拆分字符串

我正在尝试根据分隔符在 Pandas 数据框中拆分一列,并获取最后一部分。

pandas 有 str.rsplit 和 str.rpartition 函数。

如果我尝试:

df_client["Subject"].str.rsplit("-", 1)
Run Code Online (Sandbox Code Playgroud)

我得到

0 [活动 - 位置,用户代码]
1 [活动 - 位置,用户代码]

如果我尝试

df_client["Subject"].str.rpartition("-")
Run Code Online (Sandbox Code Playgroud)

我得到

      0            1      2   
Run Code Online (Sandbox Code Playgroud)

0 活动 - 位置 - 用户代码
1 活动 - 位置 - 用户代码

如果我做

df_client["Subject"].str.rpartition("-")[2]
Run Code Online (Sandbox Code Playgroud)

我得到

0 用户代码

这就是我想要的。

对我来说, str.rsplit 似乎不直观。

获得拆分字符串的列表后,我将如何选择我需要的单个项目?

python pandas

5
推荐指数
1
解决办法
4110
查看次数

基于单元格值的 PyQt Tableview 行背景颜色

我正在使用 Python3+ 和 Qt5(尽管很高兴有 Py2.7 和 Qt4 答案!)。关于样式、委托、模型和其他一切的大量文档让我完全困惑。

我发现设置备用行的背景很简单,但我想为其中一列与特定值(即Archive == True)匹配的行设置背景。

交替行:

self.plainModel = QSqlQueryModel()
self.create_model()
self.linksTable.setModel(self.plainModel)
self.linksTable.setAlternatingRowColors(True)
self.linksTable.setStyleSheet("alternate-background-color: Lightgrey;background-color: white;")
self.linksTable.resizeColumnsToContents()
Run Code Online (Sandbox Code Playgroud)

我看过一个示例,展示了如何通过模型来完成此操作,但这个特定示例似乎只是简单地复制备用行结果,并且在盯着代码几天后,我无法弄清楚如何将其转换为检查存档柱子。

示例摘录:

elif role == Qt.BackgroundRole:
    if index.row() % 2 == 0:
        return QBrush(Qt.yellow)
elif role != Qt.DisplayRole:
    return QVariant()
Run Code Online (Sandbox Code Playgroud)

我找到了另一个使用委托的例子,但目前无法理解它。

特别是我仍然无法理解您如何选择哪些行进行更改,并且无法理解如何应用简单的背景颜色作为“选项”!(阅读 QStyleOptionViewItem 上的文档让我陷入了困境!)。

你能帮我吗?

python qt pyqt pyqt4 pyqt5

4
推荐指数
1
解决办法
6134
查看次数

标签 统计

python ×2

pandas ×1

pyqt ×1

pyqt4 ×1

pyqt5 ×1

qt ×1