小编use*_*745的帖子

如何获得滚动的熊猫数据框子集

我想以“滚动”方式获取数据帧子集。我尝试了几件事但没有成功,这是我想做的一个例子。让我们考虑数据框。

df
     var1      var2
0    43         74
1    44         74
2    45         66
3    46        268
4    47         66
Run Code Online (Sandbox Code Playgroud)

我想使用以下函数创建一个新列,该列执行条件总和:

def func(x):
    tmp = (x["var1"] * (x["var2"] == 74)).sum()
    return tmp
Run Code Online (Sandbox Code Playgroud)

并像这样称呼它

df["newvar"] = df.rolling(2, min_periods=1).apply(func)
Run Code Online (Sandbox Code Playgroud)

这意味着该函数将基于数据框应用,而不是针对每一行或每一列

它会回来

     var1      var2      newvar
0    43         74         43          # 43
1    44         74         87          # 43 * 1 + 44 * 1
2    45         66         44          # 44 * 1 + 45 * 0
3    46        268         0           # 45 * 0 + …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

我可以使用 np.resize 用 np.nan 填充数组吗

a = np.array([[1, 2], [3, 4]])
a

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

然后使用 resize

b = np.resize(a, (3, 3))
b

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

b现在a以不稳定的顺序拥有来自if 的所有信息。有没有办法利用它来创建左上角看起来像 a 但现在有一个新列和一个新行的 np.nan ?

c = np.empty(b.shape)
c.fill(np.nan)
c[:a.shape[0], :a.shape[1]] = a
c

array([[  1.,   2.,  nan],
       [  3.,   4.,  nan],
       [ nan,  nan,  nan]])
Run Code Online (Sandbox Code Playgroud)

显然,上面的代码完成了同样的事情。我不禁认为resize可以以某种方式使用它来更有效地完成此任务。

python numpy

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

从分类器中检索训练功能名称列表

一旦使用方法训练分类器,是否有办法检索用于分类器训练的特征名称列表fit?我希望在申请看不见的数据之前获得此信息。用于训练的数据是熊猫DataFrame,在我的情况下,分类器是RandomForestClassifier

python pandas random-forest scikit-learn

3
推荐指数
2
解决办法
1823
查看次数

如何在字符级别对单个热门编码?

我想将一个句子转换为一个单热矢量数组.这些向量将是字母表的一个热门表示.它看起来如下:

"hello" # h=7, e=4 l=11 o=14
Run Code Online (Sandbox Code Playgroud)

会成为

[[0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
 [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
Run Code Online (Sandbox Code Playgroud)

python nlp numpy pandas scikit-learn

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

标签 统计

python ×4

pandas ×3

numpy ×2

scikit-learn ×2

nlp ×1

random-forest ×1