小编Sta*_*cey的帖子

TypeError:append()缺少1个必需的位置参数:“ other”

我想追加几个(相同形状的)数据框,以创建一个更大的数据框。Tee单个数据帧都具有以下类型:

C-Mastersheet.xlsx   <class 'pandas.core.frame.DataFrame'>
D-Mastersheet.xlsx   <class 'pandas.core.frame.DataFrame'>
L-Mastersheet.xlsx   <class 'pandas.core.frame.DataFrame'>
Run Code Online (Sandbox Code Playgroud)

看起来像:

C-Mastersheet.xlsx

   First Name  Last name        Dept  Location  Status      Concat 
0          Jo      Jones    Accounts   Bristol Current     JonesJo
1         Sid      Smith       Sales      Hull     New    SmithSid
Run Code Online (Sandbox Code Playgroud)

D-Mastersheet.xlsx

       First Name  Last name        Dept  Location  Status      Concat 
0            Phil      Evans  Production      Hull Current   EvansPhil
1           Sarah      Heath   Marketing   Bristol Current  HeathSarah
2            Jane       Hill    Accounts   Bristol Current    HillJane
3             Amy     Cooper       Sales      Hull Current   CooperAmy
Run Code Online (Sandbox Code Playgroud)

L-Mastersheet.xlsx

   First Name  Last name        Dept  Location  Status      Concat …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

ModuleNotFoundError: No module named 'merlin.tradelogic'

I am having a problem with executing a script. I have a number of inherited scripts which I need to figure out how to run. Please see some background and the problem below:

The code has been transferred from an old environment (where the whole process runs fine) to a new environment. This is where the problems have started. Please see below for a cut down version of the file tree. It is a very large project so I can't …

python python-2.7 python-3.x

5
推荐指数
0
解决办法
274
查看次数

AttributeError: 'module' 对象没有属性 'open'

我正在尝试使用以下代码在 Linux 中打开一个压缩为 .lzma 文件的 .csv 文件:

import lzma
import pandas as pd

myfile= '/home/stacey/work/roll_158_oe_2018-03-02/BBG.XTKS.8219.S/inst.BBG.XTKS.8219.S.csv.lzma'

with lzma.open(myfile,'rt') as f:
   pair_info=pd.read_csv(f,engine='c',header=0,index_col=0)
Run Code Online (Sandbox Code Playgroud)

其中 myfile 是 Linux 中存在的路径。

但是我收到错误:

with lzma.open(stock,'rt') as f:
AttributeError: 'module' object has no attribute 'open'
Run Code Online (Sandbox Code Playgroud)

我尝试添加以下内容:

import lzma
import pandas as pd

    myfile= '/home/stacey/work/roll_158_oe_2018-03-02/BBG.XTKS.8219.S/inst.BBG.XTKS.8219.S.csv.lzma'

    with open(myfile) as compressed:
         with lzma.LZMAFile(compressed,'r') as uncompressed:
             line in uncompressed:
             print(line)  
Run Code Online (Sandbox Code Playgroud)

但我收到错误:

    with lzma.LZMAFile(compressed,'r') as uncompressed:
TypeError: coercing to Unicode: need string or buffer, file found
Run Code Online (Sandbox Code Playgroud)

我也试过:

import pandas as pd
import lzma …
Run Code Online (Sandbox Code Playgroud)

python

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

RuntimeWarning:名为“Individual”的类已被创建,它将被覆盖

我有使用deap库的代码。这段代码已经在虚拟环境中运行了一段时间没有任何问题。然后,我将整个环境复制到新的虚拟环境并运行代码,然后开始出现运行时错误:

/usr/local/lib/python3.6/dist-packages/deap/creator.py:141:RuntimeWarning:已创建名为“Individual”的类,它将被覆盖。考虑删除以前创建的该类或重命名它。

运行时警告)

新旧环境中使用的数据是完全相同的,返回的结果看起来也一样。我找不到任何合适的内容来描述为什么会发生此运行时错误 - 为什么可能会发生?

python

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

按行更新数据帧但不更新

我正在遍历数据框,并尝试为每一行的特定列添加值,但是当我打印结果数据框时,值不存在

#add two new blank columns to the dayData dataframe 
dayData["myValue1"]=""
dayData["myValue2"]=""

#iterate over the dataframe
for idxDay, row in dayData.iterrows():
        do something.....
        #interate again through the dataframe
        for idxRange, row1 in dayData.iterrows():
            do something else....
            calculate value1
            calculate value2 

        #write the result for value1 and value2 to the dayData dataframe         


        row["myValue1"]=value1
        row["myValue2"]=value2
        print(dayData)
Run Code Online (Sandbox Code Playgroud)

value1 和 value 2 的值是正确的,即使我硬编码 value1 = 1 和 value2 = 2 当我打印 dayData 列 myValue1 和 myValue2 之后的列也应该更新它们不包含任何数据。

生成的 dayData 数据框应如下所示

         vwap        last       volume     ratio …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

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

从下到上遍历数据框

我有一个数据框rollArray,它看起来像:

rollArray       mavStart     mavEnd buildupStart buildupEnd insampleStart insampleEnd  \
0  2007-01-19 2008-01-04   2008-01-07 2008-02-01    2008-02-04  2008-04-11   
1  2007-01-12 2007-12-28   2007-12-31 2008-01-25    2008-01-28  2008-04-04   
2  2007-01-05 2007-12-21   2007-12-24 2008-01-18    2008-01-21  2008-03-28   
3  2006-12-29 2007-12-14   2007-12-17 2008-01-11    2008-01-14  2008-03-21   
4  2006-12-22 2007-12-07   2007-12-10 2008-01-04    2008-01-07  2008-03-14   
5  2006-12-15 2007-11-30   2007-12-03 2007-12-28    2007-12-31  2008-03-07   
6  2006-12-08 2007-11-23   2007-11-26 2007-12-21    2007-12-24  2008-02-29   
7  2006-12-01 2007-11-16   2007-11-19 2007-12-14    2007-12-17  2008-02-22   
8  2006-11-24 2007-11-09   2007-11-12 2007-12-07    2007-12-10  2008-02-15   
9  2006-11-17 2007-11-02   2007-11-05 2007-11-30    2007-12-03 …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

在熊猫数据框中将 NaT 更改为空白

我有一个如下所示的数据框 ( df):

        DATES
0         NaT
1  01/08/2003
2         NaT
3         NaT
4  04/08/2003
5         NaT
6  30/06/2003
7  01/03/2004
8  18/05/2003
9         NaT
10        NaT
11 31/10/2003
12        NaT
13        NaT
Run Code Online (Sandbox Code Playgroud)

我正在努力找出如何转换数据框以删除NaT值,因此最终输出看起来像

        DATES
0         
1  01/08/2003
2         
3         
4  04/08/2003
5         
6  30/06/2003
7  01/03/2004
8  18/05/2003
9         
10        
11 31/10/2003
12        
13  
Run Code Online (Sandbox Code Playgroud)

我试过了 :

df["DATES"].fillna("", inplace = True)
Run Code Online (Sandbox Code Playgroud)

但没有成功。

有关信息,该列的数据时间格式设置为

df["DATES"] = pd.to_datetime(df["DATES"],errors='coerce').dt.strftime('%d/%m/%Y')
Run Code Online (Sandbox Code Playgroud)

我能做些什么来解决这个问题?

python pandas

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

Python Pandas计算日志在行之间返回

我有一个包含按日期索引的价格的数据框.有没有办法计算从一天到下一天的日志回报?

因此,如果我的原始数据框如下所示:

            BBG.XSTO.FABG.S BBG.XETR.BIO3.S BBG.XPAR.BOL.S  BBG.XMCE.AIR.S  
date                
03/02/2014  8.785104        81.151          3.938           51.4627
04/02/2014  8.805004        81.151          4.142           51.4627
05/02/2014  8.866988        82.007          4.197           50.5261
06/02/2014  9.038363        82.135          4.162           51.4134
07/02/2014  8.978838        83.512          4.126           51.7585

Could someone let me know how I apply the formula

log(today_price / yesterday_price)

so I get something that looks like:

            BBG.XSTO.FABG.S BBG.XETR.BIO3.S BBG.XPAR.BOL.S  BBG.XMCE.AIR.S  
date                
03/02/2014  na               na             na              na
04/02/2014  0.002262636      0              0.050505783     0
05/02/2014  0.007014971      0.010492993    0.013191221    -0.018367239
06/02/2014  0.019142907      0.001559626    -0.008374256    0.017408804
07/02/2014  -0.006607599     0.016626099 …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

尝试将数据框写入 .CSV - 权限被拒绝

我正在尝试使用以下方法将 datafame 写入 csv 文件:

fxRollPath = 'C:\Users\stacey\Documents\scripts\FXFiles'
fxData.to_csv(fxRollPath,fxRoll'+ str(index)+'.csv')
Run Code Online (Sandbox Code Playgroud)

其中 fxRoll 是一个数据框

但我收到错误:

PermissionError: [Errno 13] Permission denied: 'C:\Users\stacey\Documents\scripts\FXFiles'
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

python python-3.x

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

确定时间序列中的值未更改的地方

我有一个数据框(df),看起来像:

      Date  Price
10/11/2017    4.5
09/11/2017    4.7
08/11/2017    5.6
07/11/2017    5.6
06/11/2017    5.6
03/11/2017    5.6
02/11/2017    5.6
01/11/2017    7.9
31/10/2017    7.2
30/10/2017    7.2
31/10/2017    7.2
01/10/2017    7.2
02/10/2017    7.2
03/10/2017    7.2
Run Code Online (Sandbox Code Playgroud)

有人可以让我知道如何识别并返回数据框的行,这些数据行从第5天开始的价格连续4天没有变化。-因此,如果价格大于4,则价格会保持不变。因此,在上面的示例中,将返回以下内容:

     Date  Price
02/11/2017    5.6
02/10/2017    7.2
03/10/2017    7.2
Run Code Online (Sandbox Code Playgroud)

非常感谢

python pandas

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

标签 统计

python ×10

pandas ×6

python-3.x ×2

dataframe ×1

python-2.7 ×1