小编The*_*era的帖子

将多索引添加到pandas数据帧并保留当前索引

我正在尝试合并来自不同参与者的时间进程数据.我正在迭代地为每个参与者提取一个数据帧,并在循环结束时将它们连接起来.在我连接之前,我想将我的参与者的ID添加到另一个索引中.

这似乎真的很直白,但我无法在这个问题上找到任何东西:(

我想转此

    col
0     1
1   1.1
2   NaN
Run Code Online (Sandbox Code Playgroud)

成:

          col
ID    0     1
      1   1.1
      2   NaN
Run Code Online (Sandbox Code Playgroud)

我知道我可以创建一个新的索引:

multindex = [np.array(ID*len(data)),np.array(np.arange(len(data)))]
Run Code Online (Sandbox Code Playgroud)

但是没有尽头就没那么优雅了,而且 - 看到我在半小时内高频测量 - 甚至会变慢:/

我想提一下,我最近发现我的问题与另一个问题重复.然而我的显然有更多的赞成和更好的答案."前置"显然似乎没有吸引尽可能多的命中.

python multi-index dataframe pandas

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

以gnumeric格式查看以分号分隔的.csv文件

我在这里有一个以分号分隔的csv文件,我希望能用gnumeric查看它.遗憾的是,gnumeric不会将分号读作分隔符.

我试过了:

  • 附加sep=;在第一行
  • 单击GUI菜单
  • 使用sed用逗号替换分号(遗憾的是,这会导致破坏,因为文档偶尔会在单元格中使用逗号

我还可以做些什么?

csv gnumeric

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

将Numpy数组索引存储在变量中

我想将索引切片作为参数传递给函数:

def myfunction(some_object_from_which_an_array_will_be_made, my_index=[1:5:2,::3]):
    my_array = whatever(some_object_from_which_an_array_will_be_made)
    return my_array[my_index]
Run Code Online (Sandbox Code Playgroud)

显然这不起作用,显然在这种特殊情况下可能有其他方法可以做到这一点,但假设我真的想用这种方式做事,我怎样才能使用变量来切割numpy数组呢?

python arrays numpy

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

大熊猫数据帧多索引的重新索引

我有一个时间序列数据框,我想通过试验和测量重新索引它.

简化,我有这个:

                value
Trial         
    1     0        13
          1         3
          2         4
    2     3       NaN
          4        12
    3     5        34   
Run Code Online (Sandbox Code Playgroud)

我想转变成这个:

                  value
Trial    
    1      0        13
           1         3
           2         4
    2      0       NaN
           1        12
    3      0        34
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能做到最好?

python multi-index dataframe pandas

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

scikit-learn因子分析的轮换参数

因子分析的一个标志是它允许非正交潜在变量.

例如,在R中,可以通过rotation参数来访问此功能factanal.有没有这样的规定sklearn.decomposition.FactorAnalysis?显然它不在争论中 - 但也许还有另一种方法来实现这一目标?

遗憾的是,我无法找到许多此功能的使用示例.

python factor-analysis dimensionality-reduction scikit-learn

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

在RPy中获得nlme.lme()或lme4.lmer()的完整摘要

我正在通过RPy与nlme和lme4 R函数接口,我想从python控制台访问输出摘要。

我运行以下代码:

test1=nlme.lme(r.formula('Pupil~CoI*Time'), random=r.formula('~1|ID'),data=dfr)
test2=nlme.lme(r.formula('Pupil~CoI*measurement'),random=r.formula('~1|ID'),data=dfr)
test1_sum= r.summary(test1)
test2_sum= r.summary(test2)
print test1_sum
print test2_sum
Run Code Online (Sandbox Code Playgroud)

对于nlme,对于lme4:

test1=lme4.lmer(r.formula('Pupil~CoI*Time+(1|ID)'),data=dfr)
test2=lme4.lmer(r.formula('Pupil~CoI*measurement+(1|ID)'),data=dfr)
test1_sum= r.summary(test1)
test2_sum= r.summary(test2)
print test1_sum
print test2_sum
Run Code Online (Sandbox Code Playgroud)

要获取包含数据和显式导入的代码片段,请参考此IPython笔记本

在所有情况下,我都会得到大量的打印输出,其中包括一个长得很长的部分,如下所示:

Data: structure(list(CoI = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L,  1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,  1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,  1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, …
Run Code Online (Sandbox Code Playgroud)

python r lme4 rpy2 nlme

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

Python中的Beta二项式函数

我想计算二项式分布给出的预定x(成功),n(试验)和p(概率)的概率 - 后者由概率质量函数Beta(a,b)给出.

我知道scipy.stats.binom.pmf(x,n,p)- 但我不确定如何用概率函数替换p.我也想知道我是否可以使用loc参数 scipy.stats.binom.pmf来模拟这种行为.

python distribution binomial-cdf probability-density

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

sqlalchemy中的多个/拆分类关联

我定义了以下对象和关系.这实际上是一个非常简单的案例,我提供所有这些领域只是为了说明为什么我认为吸入和注射麻醉应该由两个不同的类别来定义.

class InhalationAnesthesia(Base):
    __tablename__ = "inhalation_anesthesias"
    id = Column(Integer, primary_key=True)
    anesthetic = Column(String)
    concentration = Column(Float)
    concentration_unit = Column(String)
    duration = Column(Float)
    duration_unit = Column(String)


class TwoStepInjectionAnesthesia(Base):
    __tablename__ = "twostep_injection_anesthesias"
    id = Column(Integer, primary_key=True)
    anesthetic = Column(String)
    solution_concentration = Column(Float)
    solution_concentration_unit = Column(String)
    primary_dose = Column(Float)
    primary_rate = Column(Float)
    primary_rate_unit = Column(String)
    secondary_rate = Column(Float)
    secondary_rate_unit = Column(String)

class Operation(Base):
    __tablename__ = "operations"
    id = Column(Integer, primary_key=True)
    anesthesia_id = Column(Integer, ForeignKey('inhalation_anesthesias.id'))
    anesthesia = relationship("InhalationAnesthesia", backref="used_in_operations")
Run Code Online (Sandbox Code Playgroud)

但是,我想Operation以这样的方式定义类的麻醉属性,即任何Operation对象都可以指向 …

python orm sqlalchemy object-relational-model

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

在vim中获取文档的实时字数

我希望vim在状态栏中显示总文档字数(显示当前行和字符编号).我在SO上遇到过类似的问题,并尝试了这里这里提到的所有建议- 但是我们的状态栏中没有任何一个有任何影响.

为了明确地命名一些,我尝试在我的~/.vimrc(以及随后重新启动的vim)中粘贴以下任何内容:

function! CountNonEmpty()
    let l = 1
    let char_count = 0
    while l <= line("$")
        if len(substitute(getline(l), '\s', '', 'g')) > 3   
            let char_count += 1 
        endif
        let l += 1
    endwhile
    return char_count
endfunction

function WordCount()
  let s:old_status = v:statusmsg
  exe "silent normal g\<c-g>"
  let s:word_count = str2nr(split(v:statusmsg)[11])
  let v:statusmsg = s:old_status
  return s:word_count
endfunction  

" If buffer modified, update any 'Last modified: ' in the first 20 lines.
" 'Last …
Run Code Online (Sandbox Code Playgroud)

vim word-count

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

从pandas dataframe index创建列

我有一个数据框,我想将(索引的第一级)数据转换为一列.实际上我的df看起来像这样:

         col1
CoI     
 AK   0     1
      1    31
      2   NaN 
 BB   0     5
      1    31
      2   NaN 
Run Code Online (Sandbox Code Playgroud)

我想把它变成这样:

      col1  CoI

   0     1   AK
   1    31   AK
   2   NaN   AK
   0     5   BB
   1    31   BB
   2   NaN   BB
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能做到最好?我认为这是一个相当基本的功能,但与许多其他"基本"熊猫一样,我无法在任何地方找到这方面的信息.

非常感谢,

python multi-index dataframe pandas

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