小编Ynj*_*jmh的帖子

Pandas:找到 pandas 数据框中最左边的值,后跟全 1

我有以下数据集

data = {'ID': ['A', 'B', 'C', 'D'], 
        '2012': [0, 1, 1, 1], 
        '2013': [0, 0, 1, 1], 
        '2014': [0, 0, 0, 1], 
        '2015': [0, 0, 1, 1], 
        '2016': [0, 0, 1, 0], 
        '2017': [1, 0, 1,1]}

df  = pd.DataFrame(data)
Run Code Online (Sandbox Code Playgroud)

对于每一行,我想生成一个新列 - Baseline_Year- 它假定右侧所有值都等于 1 的列的名称。如果没有所有值都等于 1 的列,我Baseline_Year希望等于失踪。

查看预期结果

data = {'ID': ['A', 'B', 'C', 'D', 'E'], 
        '2012': [0, 1, 1, 1, 1], 
        '2013': [0, 0, 1, 1, 1], 
        '2014': [0, 0, 0, 1, 1], 
        '2015': [0, …
Run Code Online (Sandbox Code Playgroud)

python row sum pandas

3
推荐指数
1
解决办法
56
查看次数

emacs org-babel 中没有 javascript 的 org-babel-execute 函数

我已将以下代码添加到我的 init 文件中。但我仍然收到错误。

(org-babel-do-load-languages
      'org-babel-load-languages
      '((js . t)))
Run Code Online (Sandbox Code Playgroud)

我注意到在Babel 支持的语言中,它说 javascript 需要node.js。所以我下载 node.js 并将文件夹添加到我的环境路径中。但是,我遇到了同样的错误。

那么如何在 org-babel 中运行 javascript 呢?

javascript emacs org-mode org-babel

2
推荐指数
1
解决办法
2474
查看次数

在PYQT中选择要复制的文本

我使用 QT Designer 和 PYQT5 设计了一个 Windows 桌面应用程序。问题是,我无法选择主窗口或 qtablewidget 上的任何项目、文本来手动将其粘贴到其他地方。它将使用户的事情变得更容易,而不是对我来说。

\n
from PyQt5 import QtCore, QtGui, QtWidgets\n\n\nclass Ui_MainWindow(object):\n    def setupUi(self, MainWindow):\n        MainWindow.setObjectName("MainWindow")\n        MainWindow.resize(800, 600)\n        self.centralwidget = QtWidgets.QWidget(MainWindow)\n        self.centralwidget.setObjectName("centralwidget")\n        self.tableWidget = QtWidgets.QTableWidget(self.centralwidget)\n        self.tableWidget.setGeometry(QtCore.QRect(260, 160, 256, 192))\n        self.tableWidget.setRowCount(3)\n        self.tableWidget.setColumnCount(2)\n        self.tableWidget.setObjectName("tableWidget")\n        item = QtWidgets.QTableWidgetItem()\n        self.tableWidget.setItem(1, 0, item)\n        self.input_gunduz = QtWidgets.QLineEdit(self.centralwidget)\n        self.input_gunduz.setGeometry(QtCore.QRect(370, 70, 71, 20))\n        self.input_gunduz.setObjectName("input_gunduz")\n        self.label_5 = QtWidgets.QLabel(self.centralwidget)\n        self.label_5.setGeometry(QtCore.QRect(220, 70, 101, 21))\n        font = QtGui.QFont()\n        font.setPointSize(9)\n        font.setBold(True)\n        font.setWeight(75)\n        self.label_5.setFont(font)\n        self.label_5.setObjectName("label_5")\n        MainWindow.setCentralWidget(self.centralwidget)\n        self.menubar = QtWidgets.QMenuBar(MainWindow)\n        self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 21))\n        self.menubar.setObjectName("menubar")\n        MainWindow.setMenuBar(self.menubar)\n        self.statusbar = QtWidgets.QStatusBar(MainWindow)\n …
Run Code Online (Sandbox Code Playgroud)

python pyqt4 qt-designer qtablewidget pyqt5

2
推荐指数
1
解决办法
5147
查看次数

AttributeError:部分初始化的模块 x 没有属性 y (很可能是由于循环导入)

我想使用 pandas 来处理 csv 文件。主要工作是复制一列,所以我将脚本文件命名为copy.py.

import pandas as pd


df = pd.read_csv('latex.csv')
Run Code Online (Sandbox Code Playgroud)

但是,当我执行该文件时,出现错误

$ python copy.py
Traceback (most recent call last):
  File "~/sourcecode/rime-math/copy.py", line 1, in <module>
    import pandas as pd
    import pandas as pd
  File "~/.local/lib/python3.10/site-packages/pandas/__init__.py", line 50, in <module>
    from pandas.core.api import (
  File "~/.local/lib/python3.10/site-packages/pandas/core/api.py", line 48, in <module>
    from pandas.core.groupby import (
  File "~/.local/lib/python3.10/site-packages/pandas/core/groupby/__init__.py", line 1, in <module>
    from pandas.core.groupby.generic import (
  File "~/.local/lib/python3.10/site-packages/pandas/core/groupby/generic.py", line 73, in <module>
    from pandas.core.frame import DataFrame
  File "~/.local/lib/python3.10/site-packages/pandas/core/frame.py", line …
Run Code Online (Sandbox Code Playgroud)

python python-3.x

2
推荐指数
1
解决办法
1万
查看次数

Pandas - 日期时间格式更改为“%m/%d/%Y”

你好,stackoverflow 社区,

我想更改列的日期时间格式,但我不起作用,而且我不知道我做错了什么。

执行以下代码后:

df6['beginn'] = pd.to_datetime(df6['beginn'], unit='s', errors='ignore')
Run Code Online (Sandbox Code Playgroud)

我得到了这个输出,那很好,但我想抽出一个小时来只剩下%m/%d/%Y剩下的时间。

ID       DATE
91060    2017-11-10 00:00:00
91061    2022-05-01 00:00:00
91062    2022-04-01 00:00:00
Name: beginn, Length: 91063, dtype: object 
Run Code Online (Sandbox Code Playgroud)

我已经尝试过这个和许多其他的

df6['beginn'] = df6['beginn'].dt.strftime('%m/%d/%Y')
Run Code Online (Sandbox Code Playgroud)

并得到以下输出:

AttributeError: Can only use .dt accessor with datetimelike values.
Run Code Online (Sandbox Code Playgroud)

pd.to_datetime但我不明白为什么,我是否转换了数据?

感谢您给我的任何提示!多谢!

python format datetime pandas

2
推荐指数
1
解决办法
1万
查看次数

pandas 在pivot_table期间聚合多个列

有一个像这样的数据框:

df = pd.DataFrame((['1990-01-01','A','S1','2','string2','string3'],
 ['1990-01-01','A','S2','1','string1','string4'],
 ['1990-01-01','A','S3','1','string5','string6']),columns= 
 ["date","type","status","count","s1","s2")


           date type status count       s1       s2
 0  1990-01-01    A     S1     2  string2  string3
 1  1990-01-01    A     S2     1  string1  string4
 2  1990-01-01    A     S3     1  string5  string6
 ...
Run Code Online (Sandbox Code Playgroud)

我想要得到以下结果(每个日期和每种类型应该有单行,并获取 s1 列的最小值,获取 s2 列的最大值)

date             type       S1    S2   S3    min_s1        max_s2
1990-01-01       A           2     1   1     string1      string6
Run Code Online (Sandbox Code Playgroud)

我尝试使用pivot_table

df.pivot_table(index=['date','type'],columns=['status'],values=['count','s1','s2'], aggfunc={
'count':np.sum, 
's1': np.min,
's2': np.max
})
Run Code Online (Sandbox Code Playgroud)

但这只会得到以下结果,这会导致多列而不是最终结果。

                count             s1                         s2
status             S1 S2 S3       S1       S2       S3       S1       S2       S3
date       type …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

2
推荐指数
1
解决办法
103
查看次数

如何将一串数字和字母拆分为字符串列表和数字列表

给定一个包含字母和数字序列的字符串(例如):

"GHG-H89KKK90KKP"  
Run Code Online (Sandbox Code Playgroud)

我们有没有办法把这个字符串分成两个列表,一个包含字母,一个包含数字?

["GHG-H", "KKK", "KKP"] 
[89,90]
Run Code Online (Sandbox Code Playgroud)

python

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

通过在 python 中排序来重新排列元组

我有两个清单。第一个列表包含 X 坐标值,第二个列表包含 Y 坐标值。使用这两个列表,我想创建一个按第一个元素排序的元组。

X coordinate = [2, 3, 4, 4, 3, 2, 1, 0, 0, 1, 1, 1, 1, 2, 2, 2]
Y coordinate = [3, 3, 3, 4, 4, 4, 4, 4, 3, 3, 2, 1, 0, 0, 1, 2]
Run Code Online (Sandbox Code Playgroud)

我希望我的输出是这样的:

[(0, 3), (0, 4), (1, 0), (1, 1), (1, 2), (1, 3), (1, 4), (2, 0), (2, 1), (2, 2), (2, 3), (2, 4), (3, 3), (3, 4), (4, 3), (4, 4)]
Run Code Online (Sandbox Code Playgroud)

为了实现这个结果,我编写了下面的代码并得到了下面提到的输出。

merged_list = list(tuple(zip(X3_coordinate, …
Run Code Online (Sandbox Code Playgroud)

python sorting arraylist

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

Pandas Styler.to_latex() - 如何传递命令并进行简单编辑

如何将以下命令传递到 Latex 环境中?

\centering(我需要横向表格居中)

\caption*(我需要跳过面板的表格编号)

此外,我需要在 t 统计量中添加括号星号,这意味着数据帧上的特定于行的格式。

例如:

当前的

多变的 价值
常量 2.439628
统计时间 13.921319
家族企业 0.114914
统计时间 0.351283
创始人 0.154914
统计时间 2.351283
调整后的 R 方 0.291328

我要这个

多变的 价值
常量 2.439628
统计时间 (13.921319)***
家族企业 0.114914
统计时间 (0.351283)
创始人 0.154914
统计时间 (1.651283)**
调整后的 R 方 0.291328

我正在 DataSpell 上写研究论文。所有实证工作都在 Python 中进行,然后我使用 Latex (TexiFy) 在 DataSpell 中创建 pdf。由于这个工作流程,我无法在乳胶代码中编辑表格,因为每次运行 jupyter 笔记本时它们都会被覆盖。

如果有帮助的话,下面是我如何将表传递到乳胶环境的示例:

# drop index to column
panel_a.reset_index(inplace=True)


# write Latex index and cut names …
Run Code Online (Sandbox Code Playgroud)

python latex pandas pandas-styles

0
推荐指数
1
解决办法
945
查看次数