小编Gar*_*vey的帖子

通过平均上一行值来填充缺失值

我想用前N一行值的平均值填充缺失值,示例如下所示:

N=2
df = pd.DataFrame([[np.nan, 2, np.nan, 0],
                    [3, 4, np.nan, 1],
                    [np.nan, np.nan, np.nan, 5],
                    [np.nan, 3, np.nan, np.nan]],
                    columns=list('ABCD'))
Run Code Online (Sandbox Code Playgroud)

DataFrame如下:

     A   B   C  D
0   NaN 2.0 NaN 0
1   3.0 4.0 NaN 1
2   NaN NaN NaN 5
3   NaN 3.0 NaN NaN
Run Code Online (Sandbox Code Playgroud)

结果应该是:

     A   B       C  D
0   NaN 2.0     NaN 0
1   3.0 4.0     NaN 1
2   NaN (4+2)/2 NaN 5
3   NaN 3.0     NaN (1+5)/2
Run Code Online (Sandbox Code Playgroud)

我想知道是否有优雅和快速的方法来实现这个没有循环.

python python-3.x pandas

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

在pd.Dataframe中选择反索引

如何使用loc或在pd.DataFrame中选择反索引iloc

我尝试了df.loc[!my_index,my_feature]但是失败了。

而且df.loc[[ind for ind in df.index.tolist() if ind not in my_index],my_feature]看起来太呆板了。有更好的主意吗?

python indexing dataframe pandas

5
推荐指数
3
解决办法
2825
查看次数

从列表生成具有不同长度的数据帧

在这里,我有很多不同长度的列表,比如a=[1,2,3]b=[2,3]

我想从它们生成一个pd.DataFrame,通过nan在列表末尾填充,如下所示:

   a  b
1  1  2 
2  2  3
3  3  nan
Run Code Online (Sandbox Code Playgroud)

有什么好主意可以帮我这么做吗?

python dataframe pandas

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

lightgbm中评价指标和评价函数的区别

参考lightgbm.cv,有两个参数让我困惑:metricsfeval。基于我对 gbdt 的一点了解,评估指标和评估函数都是从预测向量和真实标签向量计算损失,例如 auc。

然而,metricsfunction听起来像他们正在处理不同的任务。

  1. 他们在做同样的事情吗?
  2. 更具体地说,如果我执行lightgbm.cv(params,metrics='auc', feval='ks'),将feval='ks'覆盖metrics='auc'?

python machine-learning lightgbm

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

理解火花中的闭包

在集群模式下,如何编写一个闭包函数f让每个 worker 访问变量的副本N

N=5
lines=sc.parallelize(['early radical', 'french revolution','pejorative way', 'violent means'])
def f1(line):
    return line[:N]
l=lines.map(f1)
l.collect()
Run Code Online (Sandbox Code Playgroud)

我正在尝试尝试以找出我的理解是否正确。在我的示例中,f1在本地模式下工作。

我没有任何集群,我真的很想知道它是否可以在集群模式下工作?换句话说,worker 可以访问 variable N,它在外部定义f1f1在驱动程序节点内部使用。

apache-spark pyspark

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