小编Car*_*men的帖子

如何合并数据帧pandas中的两行

我有一个包含两行的数据框,我想将这两行合并为一行.df如下:

              PC           Rating CY   Rating PY    HT
0             DE101           NaN            AA     GV
0             DE101           AA+           NaN     GV
Run Code Online (Sandbox Code Playgroud)

我试图创建两个单独的数据帧并将它们与df.merge(df2)合并而没有成功.结果应如下

              PC           Rating CY   Rating PY    HT
0             DE101           AA+            AA     GV
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?提前谢谢可以df.update成为可能的解决方案吗?

编辑:

df.head(1).combine_first(df.tail(1))
Run Code Online (Sandbox Code Playgroud)

这适用于上面的例子.但是,对于包含数值的列,此方法不会产生所需的输出,例如

              PC           Rating CY   Rating PY    HT    MV1   MV2
0             DE101           NaN            AA     GV    0     20 
0             DE101           AA+           NaN     GV    10    0
Run Code Online (Sandbox Code Playgroud)

输出应该是:

              PC           Rating CY   Rating PY    HT   MV1    MV2
0             DE101           AA+            AA     GV   10     20
Run Code Online (Sandbox Code Playgroud)

上面的公式不会总结最后两列中的值,而是获取数据帧第一行中的值.

              PC           Rating CY   Rating PY    HT   MV1    MV2 …
Run Code Online (Sandbox Code Playgroud)

merge dataframe pandas

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

同时循环遍历 R 中的两个列表

我编写了一个带有三个参数的函数:

create.template <- function(t.list, x, y){
    temp <- cbind(get(t.list[x]), get(t.list[y]), NA)
}
Run Code Online (Sandbox Code Playgroud)

此函数的输出是一个具有 11 列和 17 行的 data.frame。

现在我想用两个列表在函数上创建一个循环,一个用于 x,一个用于 y。从而

x.list <- list(1,2,3)
y.list <- list(4,5,6)
Run Code Online (Sandbox Code Playgroud)

在最后一步,我想建立类似

for (x in x.list and y in y.list){
   create.template(t.list, x, y)
}
Run Code Online (Sandbox Code Playgroud)

并可能在一个最终数据帧中按行组合生成的数据帧(3 个数据帧,每个数据帧 11 列)。

我知道您可以在 Python 中使用 zip() 函数执行此操作,然后通过 append() 和 concatenate() 轻松附加结果,但到目前为止我还没有在 R 中找到等效项。任何帮助表示高度赞赏!

loops r

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

你可以通过 R - Reticulate 安装 Python 包吗

我将使用 Reticulate 包在 R 中创建一个 python 接口。为了访问 R 中的 python 函数,需要安装相应的 python 包。

我想到了两个问题:

1)如果使用reticulate包,是否需要安装Anaconda包?或者只安装 python 包就足够了?

2)是否可以在R中安装python包,类似于install.packages(“r_package”)?

有人有这个主题的经验吗?提前致谢!

python r interface reticulate

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

按第一列Pandas排序数据帧

我有一个包含一列的数据框,我想对其进行排序.键入以下代码为我提供了一个已排序的数据框:

sort = tst.sort(["Mean"], ascending = False)

                Mean
SIMULATION          
Sim_758     1.351917
Sim_215     1.072942
Sim_830     0.921284
Sim_295     0.870272
Sim_213     0.845990
Sim_440     0.822394
Run Code Online (Sandbox Code Playgroud)

这将是函数的一部分,该函数将应用于其他数据框.出于这个原因,我需要对数据帧进行排序,而不提及列名称"mean".

有没有办法按列的值对数据帧进行排序,只显示列的位置?

sorting dataframe pandas

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

如何提取多索引数据帧的索引名称,pandas

我有一个多索引数据框,如下所示:

                                            TQ bought  
HT           Detailed Instrument                   
Alternative     Investments                 359.445000  
Alternative     Investments                 633.670000  
Alternative     Investments                237.970000  
Alternative     Investments                 40.955000  
Run Code Online (Sandbox Code Playgroud)

HT 和Detailed Instrument 是多索引列名,购买的TQ 代表Pivot 表的值。

我想将索引的列名提取为列表,例如: idx_headers = ["HT", "Detailed Instrument"]

我试过了,df.index.levels但这不会产生所需的输出..有什么想法吗?

multi-index pandas

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

标签 统计

pandas ×3

dataframe ×2

r ×2

interface ×1

loops ×1

merge ×1

multi-index ×1

python ×1

reticulate ×1

sorting ×1