小编And*_*ver的帖子

在不是NaN的列中查找第一个和/或最后一个值的索引

我正在处理钻孔的地下测量,其中每种测量类型都覆盖不同的深度范围。在这种情况下,深度被用作索引。

我需要找到每种测量类型的第一次和/或最后一次出现的数据(非NaN值)的深度(索引)。

获取数据框第一行或最后一行的深度(索引)很容易:df.index[0]df.index[-1]。诀窍在于找到任何给定列的第一个或最后一个非NaN出现的索引。

df = pd.DataFrame([[500, np.NaN, np.NaN,     25],
                   [501, np.NaN, np.NaN,     27],
                   [502, np.NaN,     33,     24],
                   [503,      4,     32,     18],
                   [504,     12,     45,      5],
                   [505,      8,     38, np.NaN]])
df.columns = ['Depth','x1','x2','x3']
df.set_index('Depth')
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

理想解决方案对于x1的首次出现将产生503的索引(深度),对于x2的首次出现将产生502(索引),对于x3的最后一次出现将产生504(索引)。

python numpy dataframe pandas

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

如何在 RStudio 中“pip install”Python 模块?

希望得到一些帮助。Python 包如何在 RStudio R-Markdown ( .Rmdpip install ) 文件中进行网状化?

例如,lasioPython 包无法通过conda. 因此,以下.Rmd代码无法将包添加到我的环境中:

```{r}
library(reticulate)
py_install("lasio")    # did not work
```
Run Code Online (Sandbox Code Playgroud)

我还尝试使用Python代码安装包(无济于事):

```{python}
import sys
!{sys.executable} -m install lasio    # did not work

$ python -m pip install lasio    # also did not work
```
Run Code Online (Sandbox Code Playgroud)

事实证明,可以通过在 RStudio 的终端lasio窗口/选项卡中键入来将包安装/添加到我的环境中。但是,我希望代码可以与.R.Rmd代码一起运行,以便在移植到另一台机器时自动执行该过程。谢谢。pip install lasio

python r pip r-markdown

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

标签 统计

python ×2

dataframe ×1

numpy ×1

pandas ×1

pip ×1

r ×1

r-markdown ×1