小编M.A*_*ine的帖子

pandas groupby可以聚合成一个列表,而不是求和,意味着等等吗?

我已成功使用groupby函数按组对给定变量求和或平均,但有没有办法聚合成值列表,而不是获得单个结果?(这还会被称为聚合吗?)

我不完全确定这是我应该采取的方法,所以下面是我想用玩具数据进行转换的一个例子.

也就是说,如果数据看起来像这样:

    A    B    C  
    1    10   22
    1    12   20
    1    11   8
    1    10   10
    2    11   13
    2    12   10 
    3    14   0
Run Code Online (Sandbox Code Playgroud)

我想要最终得到的是以下内容.我不能完全确定这是否可以通过groupby聚合到列表中来完成,而且相对于从这里去哪里感到很遗憾.

假设输出:

     A    B    C  New1  New2  New3  New4  New5  New6
    1    10   22  12    20    11    8     10    10
    2    11   13  12    10 
    3    14   0
Run Code Online (Sandbox Code Playgroud)

也许我应该追求支点呢?将数据放入列的顺序无关紧要 - 本例中的所有列B到New6都是等效的.所有建议/更正都非常感谢.

python pandas

47
推荐指数
5
解决办法
5万
查看次数

在pandas中使用带有数据帧的str.contains()

我想知道是否有更有效的方法在Pandas中使用str.contains()函数,一次搜索两个部分字符串.我想在数据框中搜索包含"nt"或"nv"的数据的给定列.现在,我的代码看起来像这样:

    df[df['Behavior'].str.contains("nt", na=False)]
    df[df['Behavior'].str.contains("nv", na=False)]
Run Code Online (Sandbox Code Playgroud)

然后我将一个结果追加到另一个.我想做的是使用一行代码来搜索包含"nt"或"nv"或"nf"的任何数据.我已经玩了一些我认为应该工作的方法,包括在术语之间插入管道,但所有这些都会导致错误.我已经检查了文档,但我不认为这是一个选项.我得到这样的错误:

    ---------------------------------------------------------------------------
    TypeError                                 Traceback (most recent call last)
    <ipython-input-113-1d11e906812c> in <module>()
    3 
    4 
    ----> 5 soctol = f_recs[f_recs['Behavior'].str.contains("nt"|"nv", na=False)]
    6 soctol

    TypeError: unsupported operand type(s) for |: 'str' and 'str'
Run Code Online (Sandbox Code Playgroud)

有没有快速的方法来做到这一点?感谢您的帮助,我是初学者,但我喜欢数据争夺的熊猫.

python string performance dataframe pandas

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

R中的MCMCglmm多项式模型

我正在尝试使用MCMCglmmR中的包创建模型

数据结构如下,其中二元,焦点,其他都是随机效应,预测1-2是预测变量,响应1-5是捕获不同子类型的观察行为#的结果变量:

 dyad focal other r    present  village  resp1 resp2 resp3 resp4 resp5 
 1    10101 14302 0.5  3        1        0     0     4     0     5
 2    10405 11301 0.0  5        0        0     0     1     0     1
 …
Run Code Online (Sandbox Code Playgroud)

所以只有一个结果(教学)的模型如下:

 prior_overdisp_i <- list(R=list(V=diag(2),nu=0.08,fix=2), 
 G=list(G1=list(V=1,nu=0.08), G2=list(V=1,nu=0.08), G3=list(V=1,nu=0.08), G4=list(V=1,nu=0.08)))

 m1 <- MCMCglmm(teaching ~ trait-1 + at.level(trait,1):r + at.level(trait,1):present, 
 random= ~idh(at.level(trait,1)):focal + idh(at.level(trait,1)):other + 
 idh(at.level(trait,1)):X + idh(at.level(trait,1)):village, 
 rcov=~idh(trait):units, family = "zipoisson", prior=prior_overdisp_i, 
 data = data, nitt = nitt.1, thin = 50, burnin = 15000, …
Run Code Online (Sandbox Code Playgroud)

r bayesian mcmc glm

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

标签 统计

pandas ×2

python ×2

bayesian ×1

dataframe ×1

glm ×1

mcmc ×1

performance ×1

r ×1

string ×1