小编Ped*_*raz的帖子

如何使用字符串访问pandas DataFrame datetime索引

这是一个非常简单实用的问题.我觉得它必须是一个愚蠢的细节,应该有类似的问题.我无法找到他们.如果有人,我会高兴地删除这个.

我发现的最接近的是: pandas:用loc迭代DataFrame索引

如何仅在索引为日期和时间时基于时间选择pandas数据帧中的行

无论如何,事情是,我有一个datetime索引的熊猫数据帧如下:

In[81]: y
Out[81]: 
            PETR4  CSNA3  VALE5
2008-01-01    0.0    0.0    0.0
2008-01-02    1.0    1.0    1.0
2008-01-03    7.0    7.0    7.0

In[82]: y.index
Out[82]: DatetimeIndex(['2008-01-01', '2008-01-02', '2008-01-03'], dtype='datetime64[ns]', freq=None)
Run Code Online (Sandbox Code Playgroud)

奇怪的是,我无法使用以下方法之一访问其值:

In[83]: y[datetime.datetime(2008,1,1)]
In[84]: y['2008-1-1']
In[85]: y['1/1/2008']
Run Code Online (Sandbox Code Playgroud)

我收到了KeyError错误.

更奇怪的是,以下方法可行:

In[86]: y['2008']
Out[86]: 
            PETR4  CSNA3  VALE5
2008-01-01    0.0    0.0    0.0
2008-01-02    1.0    1.0    1.0
2008-01-03    7.0    7.0    7.0
In[87]: y['2008-1']
Out[87]: 
            PETR4  CSNA3  VALE5
2008-01-01    0.0    0.0    0.0
2008-01-02    1.0    1.0    1.0
2008-01-03    7.0    7.0    7.0
Run Code Online (Sandbox Code Playgroud)

我对熊猫很新,所以也许我在这里错过了一些东西?

python pandas

21
推荐指数
3
解决办法
3万
查看次数

如何在PyCharm中的IPython Notebook中"运行ALL"?

这可能是一个枯燥的问题,但我真的没有找到答案.

我正在尝试从浏览器版本迁移到IPython笔记本的PyCharm.事情是我找不到与浏览器版本相同的"全部运行".我每次必须逐个细胞运行吗?

谢谢 !

pycharm ipython-notebook

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

无法启动命令 pdflatex - synctex=1 -interaction=nonstopmode %.tex 错误

我对 LaTeX 及其发行版很陌生,所以这可能是一个非常新手的问题。

我正在关注本教程,但无法编译该文档。到目前为止的代码非常简单,我认为没有任何错别字,而且我在论坛中也没有找到类似的问题。

有人可以指出我正确的方向吗?

我使用的是 Windows XP 并且我已经安装了 TexMaker 4.4.1 在这里找到

我到目前为止的代码很简单:

\documentclass[11pt]{文章}

\begin{文档}

这是我的第一个 LaTeX 文档。

\end{文档}

我得到的错误是:

无法启动命令。pdflatex -synctex=1 -interaction=nonstopmode %.tex

干杯!

latex pdflatex texmaker

8
推荐指数
2
解决办法
4万
查看次数

将pandas DataFrame行复制到多个其他行

简单实用的问题,但我找不到解决方案.

我看过的问题如下:

修改pandas数据帧中的行子集

一次更改pandas DataFrame的多个列中的某些值

使用pandas将列从一个DataFrame复制到另一个DataFrame的最快方法?

使用pandas.DataFrame中的复杂条件进行选择

这些与我之间的关键区别在于我不需要插入单个值,而是插入一行.

我的问题是,我拿起一行数据帧,比方说df1.因此我有一个系列.

现在我有了这个其他数据框,df2我根据标准选择了多行,我想将该系列复制到所有那些行.

DF1:

Index/Col   A   B  C
1           0   0  0
2           0   0  0
3           1   2  3
4           0   0  0
Run Code Online (Sandbox Code Playgroud)

DF2:

Index/Col   A   B  C
1           0   0  0
2           0   0  0
3           0   0  0
4           0   0  0
Run Code Online (Sandbox Code Playgroud)

我想要完成的是将df1 [3]插入到行df2 [2]和df3 [3]中.所以像非工作代码:

series = df1[3]
df2[df2.index>=2 and df2.index<=3] = series
Run Code Online (Sandbox Code Playgroud)

回国

DF2:

Index/Col   A   B  C
1           0   0  0
2           1 …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

将pandas DataFrame与Series进行比较

到目前为止,我已经看过这个这个问题,但它们并没有真正帮助我解决我的问题.

问题很简单,但有点难以言辞.

我有一个像以下矩阵的Dataframe:

       Stock1 Stock2
Date1   3      4
Date2   1      4
Run Code Online (Sandbox Code Playgroud)

对于每个日期,这是我的索引,我想将值与系列中的单个点进行比较.

是这样的系列:

      Value
Date1   2
Date2   3
Run Code Online (Sandbox Code Playgroud)

我想从比较DataFrame> Series中构建以下DataFrame

       Stock1 Stock2
Date1   True   True
Date2   False  True
Run Code Online (Sandbox Code Playgroud)

因此,Date1两个值都大于2,并且Date2Stock2大于3.

提前致谢

python pandas

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

查找序列中的特定模式

我正在使用R包TraMineR进行一些学术研究序列分析.

我想找到一个模式,定义为某人在目标公司,然后出去,然后回到目标公司.

(简化)我将州A定义为目标公司; B作为外部工业公司,C作为内部工业公司.

所以我想要做的是找到具有特定模式ABA或ACA的序列.

在查看这个问题(奇怪的子序列数?)并阅读用户指南后,特别是以下段落:

4.3.3子序列如果u的所有连续元素ui以相同的顺序出现在x中,则序列u是x的子序列,我们简单地用u x表示.根据这个定义,非共享>状态可以出现在序列u和x的共同序列之间.例如,u = S; M是x = S的>子序列; U; 米; MC.

7.3.2查找具有给定子序列的序列seqpm()函数计算包含给定子序列的序列数并收集其行索引号.该函数返回一个包含两个元素的列表.第一个元素MTab只是一个表,其中包含数据中给定子序列的出现次数.请注意,即使子序列在序列中出现多次,每个序列也只计算一次出现次数.列表的第二个元素MIndex给出包含子序列的序列的行索引号.这些索引号可用于访问相关序列(下面的示例).由于在字符串中搜索模式更容易,因此当使用带有TRUE选项的seqconc函数时,函数rst以此格式转换序列数据.

我得出结论,seqpm()是我完成工作所需的功能.

所以我的序列如下:AAAAABBBBBAAAAA

而且,根据我在mentiod源上找到的子序列的定义,我想我可以通过使用以下方式找到这种序列:

seqpm(sequence,"ABA")
Run Code Online (Sandbox Code Playgroud)

但这不会发生.为了找到我需要输入的示例序列

seqpm(sequence,"ABBBBBA")
Run Code Online (Sandbox Code Playgroud)

这对我需要的东西不是很有用.

  1. 所以你们看到我可能错过了哪些东西?
  2. 如何检索从A到B和返回A的所有序列?
  3. 有没有办法让我找到从A到其他任何东西,然后回到A?

非常感谢 !

r traminer

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

无法导入plotly.figure_factory

我无法导入 plotly.figure_factory

我使用的代码基于这个例子

该模块由以下代码段导入:

import plotly.plotly as py
import plotly.figure_factory as FF
Run Code Online (Sandbox Code Playgroud)

figure_factoryplotly网站上找不到任何文件.

有任何想法吗 ?

python python-3.x plotly

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

不能将line_profiler与Cython一起使用

基于对答案这个问题,我试图用line_profiler用cythonized功能.

在上述问题上,接受的答案为我们提供了一个如何在jupyter笔记本中使用它的例子.

但是,当我尝试pyx使用disutils 构建文件时,它不起作用.

我明确地尝试使用脚本来运行

kernprof -l -v script.py
Run Code Online (Sandbox Code Playgroud)

它只返回Timer unit经过的时间.

如果我尝试使用cython文件修饰函数@profile,它不会编译返回:

undeclared name not builtin: profile
Run Code Online (Sandbox Code Playgroud)

有任何想法吗 ?

python cython line-profiler

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

Pandas MultiIndex groupby 保留索引级别

经过研究,我在这个论坛或任何其他论坛上都没有发现类似的问题。

我正在按其内部级别对 MultiIndex 数据帧进行分组。问题是,在按分组分组后,我仍然想知道在这个内部索引上哪些是“选择的值”。

所以我有这样的东西

df = pd.DataFrame([['A', 1, 3],
                   ['A', 2, 4],
                   ['A', 3, 6],
                   ['B', 1, 9],
                   ['B', 2, 10],
                   ['B', 4, 6]],
                  columns=pd.Index(['Name', 'Date', 'Value'], name='ColumnName')
                 ).set_index(['Name', 'Date'])

ColumnName         Value
Name    Date
A        1           3
         2           4
         3           6 
B        1           9
         2           10
         4           6
Run Code Online (Sandbox Code Playgroud)

我想要的是

ColumnName         Value
Name    Date
A        3           6
B        4           6
Run Code Online (Sandbox Code Playgroud)

我能够做的是使用这个命令:

df.groupby(level=('Name')).last()
Run Code Online (Sandbox Code Playgroud)

正在检索这个:

ColumnName         Value
Name    
A                    6
B                    6
Run Code Online (Sandbox Code Playgroud)

或者,通过使用此命令:

df.groupby(level=('Name','Date')).last()
Run Code Online (Sandbox Code Playgroud)

检索错误。

请记住,这是一个性能敏感的应用程序。

想法?

编辑:同时我确实在 GitHub 上提交了一个 …

python performance pandas

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

如何在MultiIndex DataFrame上实现非重叠滚动功能

到目前为止,我已经找到了这个问题,但由于以下事实,它并没有解决我的问题:

  1. 我有一个MultiIndex DataFrame
  2. 内层有每个外层的不同数据量,因此我无法使用 len()

我有以下DataFrame

Outer Inner    Value        
  A     1     2.000000
  A     2     4.000000
  A     3     6.000000
  A     4     8.000000
  B     1     3.000000
  B     2     6.000000
  B     3     9.000000
  B     4     12.000000
  B     5     15.000000
Run Code Online (Sandbox Code Playgroud)

我想以outer非重叠的方式对每个值的最后两个值求和.因此,A我想要求和inner3 + 4,1 + 2.因为B我想求和inner4 + 5,2 + 3.注意,成对和应该从最后一个值开始.导致

Outer Inner    Value        
  A     2     6.000000
  A     4    14.000000
  B     3    15.000000
  B     5    27.000000
Run Code Online (Sandbox Code Playgroud)

python python-3.x pandas

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