小编Vio*_*let的帖子

来自 2D pandas 数据框的 Matplotlib 3D 曲面图

我有一个包含四列测量数据的熊猫数据框。我想创建一个 3D 曲面图,行索引为 X,列索引为 Y,数据为 Z。 (每列中的数据是从测试中输出的一系列离散测量值,该测试逐步遍历所有值每个类别 Y 的 X)

import pandas as pd
import numpy as np


df = pd.DataFrame(np.random.randn(5, 4), columns=['A', 'B', 'C', 'D'])
print(df)

   A         B         C         D
0  0.791692 -0.945571  0.183304  2.039369
1 -0.474666  1.117902 -0.483240  0.137620
2  1.448765  0.228217  0.294523  0.728543
3 -0.196164  0.898117 -1.770550  1.259608
4  0.646730 -0.366295 -0.893671 -0.745815
Run Code Online (Sandbox Code Playgroud)

我尝试使用 np.meshgrid 将 df 转换为一个 numpy 网格,如下所示,但不确定我是否真的理解需要什么,或者我是否可以以这种方式使用 df 索引。

import matplotlib as mpl
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

x = df.columns …
Run Code Online (Sandbox Code Playgroud)

python 3d numpy matplotlib pandas

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

基于 timedelta 的 Pandas 条件外连接 (merge_asof)

我有多个数据帧,需要根据唯一标识符 (uid) 以及每个数据帧中日期之间的时间增量将它们合并到单个数据集中。

这是数据框的简化示例:

df1

   uid    tx_date last_name first_name  meas_1
0   60 2004-01-11      John      Smith     1.3
1   60 2016-12-24      John      Smith     2.4
2   61 1994-05-05     Betty      Jones     1.2
3   63 2006-07-19     James       Wood     NaN
4   63 2008-01-03     James       Wood     2.9
5   65 1998-10-08       Tom      Plant     4.2
6   66 2000-02-01     Helen       Kerr     1.1
Run Code Online (Sandbox Code Playgroud)

df2

   uid    rx_date last_name first_name meas_2
0   60 2004-01-14      John      Smith      A
1   60 2017-01-05      John      Smith     AB
2   60 2017-03-31      John      Smith    NaN
3   63 2006-07-21     James …
Run Code Online (Sandbox Code Playgroud)

python merge timedelta dataframe pandas

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

使用 python.net 获取 C# 枚举描述?

我正在使用带有 C# API 的 python.NET。dll 加载正常,我可以找到所需的枚举,但无法找出访问其值、名称和描述的正确语法。

我对 C# 不太熟悉,但认为枚举类似于

public enum Things 
{
    X1,
    X2,
    X3,
    X4
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试做相当于例如

var values = Enum.GetValues(typeof(Things));
Run Code Online (Sandbox Code Playgroud)

虽然我也想访问名称和描述。有一个“GetNames”方法和一个“Overloads”方法,我认为这可能是这些方法所需要的。

我被困在 python.Net 中使用未绑定方法所需的语法上。

In[1]: Things.GetNames
Out[1]: <unbound method 'GetNames'>
Run Code Online (Sandbox Code Playgroud)

我可以获得个人价值

In[2]: Things.X1
Out[2]: 21
Run Code Online (Sandbox Code Playgroud)

但我真的很想了解使用 Python.NET 获取此信息的正确方法以及我目前无法找到的描述。


ETA1:找出我做错的部分内容。可以获取值和名称如下:

from System import Enum
values = Enum.GetValues(Things)
names = Enum.GetNames(Things)
Run Code Online (Sandbox Code Playgroud)

上面返回 System.String[] 但我可以在列表推导中迭代它们以获取名称和值的列表。

但仍不确定如何获取描述。没有看到任何明显的方法。

In [17]:dir(Enum)
Out[17]: 
['CompareTo',
 'Equals',
 'Finalize',
 'Format',
 'GetHashCode',
 'GetName',
 'GetNames',
 'GetType',
 'GetTypeCode',
 'GetUnderlyingType',
 'GetValues',
 'HasFlag',
 'IsDefined',
 'MemberwiseClone',
 'Overloads',
 'Parse',
 'ReferenceEquals',
 'ToObject',
 'ToString',
 'TryParse',
 '__call__', …
Run Code Online (Sandbox Code Playgroud)

c# python python.net

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

标签 统计

python ×3

pandas ×2

3d ×1

c# ×1

dataframe ×1

matplotlib ×1

merge ×1

numpy ×1

python.net ×1

timedelta ×1