小编Ynj*_*jmh的帖子

Python matplotlib 中 Axes.text() 和 Axes.annotate() 有什么区别

文件说

Axes.text(self, x, y, s, fontdict=None, withdash=已弃用的参数, **kwargs)

将文本添加到轴。

将文本 s 添加到数据坐标中位置x、y处的轴。

Axes.annotate(self, s, xy, *args, **kwargs)

用文本s注释点xy

在最简单的形式中,文本放置在xy处。

或者,文本可以显示在另一个位置xytext。然后可以通过定义arrowprops添加从文本指向注释点xy的箭头。

两者相同Axes.text(),都Axes.annotate()可以向位置x、y添加文本。可以使用中的变换Axes.text()参数来更改坐标系,而它是中的xycoordsAxes.annotate()参数。

区别在于可以使用arrowprops参数Axes.annotate()绘制箭头,而不能。我看到的另一个区别是返回值。Axes.text()

所以我认为Axes.annotate()是 的超集Axes.text()。意思Axes.text()是没用吗?我什么时候应该使用Axes.text()而不是Axes.annotate()

python matplotlib

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

从另一个数据帧填充数据帧的列

我正在尝试根据条件从另一个数据帧填充数据帧的一列。假设我的第一个数据帧是 df1,第二个被命名为 df2。

# df1 is described as bellow :
+------+------+
| Col1 | Col2 |
+------+------+
|   A  |  1   |
|   B  |  2   |
|   C  |  3   |
|   A  |  1   |
+------+------+
Run Code Online (Sandbox Code Playgroud)

# df2 is described as bellow :
+------+------+
| Col1 | Col2 |
+------+------+
|   A  |  NaN |
|   B  |  NaN |
|   D  |  NaN |
+------+------+
Run Code Online (Sandbox Code Playgroud)

Col1 的每个不同值都有一个 id 号(在 Col2 中),所以我想要的是填充 df2.Col2 中的 NaN 值,其中 df2.Col1==df1.Col1 …

python dataframe pandas

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

无法安装 open3d 库(错误:找不到满足 open3d 要求的版本)

我在Windows 10中使用pyCharm软件,当我尝试安装open3d时出现以下错误:

ERROR: Could not find a version that satisfies the requirement open3d (from versions: none)
ERROR: No matching distribution found for open3d
Run Code Online (Sandbox Code Playgroud)

我尝试使用cmd安装它,但出现了同样的错误,pip版本也是20.1.1。

图像

python open3d

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

Python 中“&”和“and”有什么区别?

第一个代码给出了True但第二个代码给出了错误

类型错误:& 不支持的操作数类型:“str”和“int”

&Python 中and运算符有什么区别and?不是一样吗?

student = "Justin"
Run Code Online (Sandbox Code Playgroud)

第一个代码

print(student == "Justin" and 1 == 1)
Run Code Online (Sandbox Code Playgroud)

第二个代码

print(student == "Justin" & 1 == 1)
Run Code Online (Sandbox Code Playgroud)

python operator-keyword

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

如何使用熊猫计算列中的字符串?

我有以下数据集。

game_id h_abbr a_abbr 
0001    WSH    TOR 
0002    ANA    TOR 
0003    TOR    MIN
Run Code Online (Sandbox Code Playgroud)

我想数一数到目前为止每支球队打了多少场比赛。输出应该是这样的

game_id h_abbr a_abbr ht_game_no at_game_no
0001    WSH    TOR    1          1
0002    ANA    TOR    1          2
0003    TOR    MIN    3          1
Run Code Online (Sandbox Code Playgroud)

python pandas

5
推荐指数
0
解决办法
82
查看次数

在 pandas 中处理时间序列数据时,如何解决“ValueError:无法在具有重复标签的轴上重新索引”错误?

                       cube   timestamp          temp   
timestamp               
2022-08-01 00:15:05.135  A1       2022-08-01 00:15:05.135    NaN

2022-08-01 00:15:37.255  A1       2022-08-01 00:15:37.255    23.17  

2022-08-01 00:23:05.139  A1       2022-08-01 00:23:05.139    NaN    

2022-08-01 00:23:15.137  A1       2022-08-01 00:23:15.137    NaN    

2022-08-11 11:33:20.738  P19      2022-08-11 00:15:05.135    NaN    
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用以下代码根据相对于立方体的时间戳插入温度中的 NaN 值

idata.set_index(idata['timestamp'],inplace = True)

idata['temp'] = idata.groupby('cube')['temp'].apply(lambda x:x.interpolate(method="time",limit_direction = "both"))
Run Code Online (Sandbox Code Playgroud)

执行此代码时,我收到错误“ValueError:无法在具有重复标签的轴上重新索引”。我无法删除重复的标签(时间戳),因为它可能属于不同的多维数据集。请提出处理这种情况的替代方案。

python time-series pandas valueerror

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

ImportError:无法从“pandas.io.json”导入名称“json_normalize”

python 3.9.2-3
pandas 2.0.0
pandas-io           0.0.1
Run Code Online (Sandbox Code Playgroud)
Error: 
from pandas.io.json import json_normalize
ImportError: cannot import name 'json_normalize' from 'pandas.io.json' (/home/casaos/.local/lib/python3.9/site-packages/pandas/io/json/__init__.py)
Run Code Online (Sandbox Code Playgroud)

显然,这是 pandas 诞生前 1x 天的早期问题,但似乎又重新出现了。建议?

我正在运行一个以前可以运行的脚本,但将其迁移到新主机。它在线上出错:

from pandas.io.json import json_normalize
Run Code Online (Sandbox Code Playgroud)

并抛出错误

ImportError: cannot import name 'json_normalize' from 'pandas.io.json' (/home/casaos/.local/lib/python3.9/site-packages/pandas/io/json/__init__.py)
Run Code Online (Sandbox Code Playgroud)

我尝试重新安装 pandas(“安装”选项)、删除并重新安装以及“安装 --force-reinstall”,所有这些都以 root 身份执行,以便 python3 的基本安装而不是单个用户安装

python pandas python-3.9

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

如何在 C++ 中追加到文件?

我想通过几次单独的调用将一些数据打印到文件中。我注意到写入的默认行为会覆盖以前写入的数据。

#include <iostream>
#include <fstream>
using namespace std;

void hehehaha (){
  ofstream myfile;
  myfile.open ("example.txt");
  myfile << "Writing this to a file.\n";
  myfile.close();   
}

int main () {
  for(int i = 0; i < 3 ; i++) {
    hehehaha();
  }
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

这段代码只写了一行 Writing this to a file.,但我想要的是以下内容:

Writing this to a file.
Writing this to a file.
Writing this to a file.
Run Code Online (Sandbox Code Playgroud)

c++ c++11

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

将最大整数转换为浮点数而不损失精度

我有一个以下片段,我用来尝试测试如果将最大整数转换为 a 是否会发生精度损失double

#include <cstdint>
#include <limits>
#include <iostream>
#include <iomanip>

int main () noexcept
{
    uint64_t ui64{std::numeric_limits<uint64_t>::max()};
    constexpr auto max_precision{std::numeric_limits<long double>::digits10 + 1}; 
    std::cout << "ui64 " << std::setprecision(max_precision) << std::boolalpha << ui64 << "\n\n";

    double f64 = static_cast<double>(ui64);
    uint64_t ui64_cast_back = static_cast<uint64_t>(f64);
    std::cout << "sizeof(f64): " << sizeof(double) << std::endl;
    std::cout << "f64 = " << f64 << std::endl;
    std::cout << "ui64_cast_back matches original value? " << (ui64_cast_back == ui64) << std::endl;
    std::cout << "ui64_cast_back = …
Run Code Online (Sandbox Code Playgroud)

c++ floating-point precision

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

如何在 python 极坐标中的两列上创建排名?

假设我们在极坐标(python)中有这个数据框:

import polars as pl
df = pl.DataFrame(
    {   
        "era": ["01", "01", "02", "02", "03", "03"],
        "pred": [3,5,6,8,9,1]
    }
)
Run Code Online (Sandbox Code Playgroud)

我可以根据一列创建排名/行号,例如:

df.with_columns(rn = pl.col("era").rank("ordinal"))
Run Code Online (Sandbox Code Playgroud)

但如果我想基于两列来完成它,它就不起作用:

df.with_columns(rn = pl.col(["era","pred"]).rank("ordinal"))
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:

ComputeError: The name: 'rn' passed to `LazyFrame.with_columns` is duplicate
Error originated just after this operation:
DF ["era", "pred"]; PROJECT */2 COLUMNS; SELECTION: "None"
Run Code Online (Sandbox Code Playgroud)

关于如何执行此操作有什么建议吗?

python python-polars

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