我想追加几个(相同形状的)数据框,以创建一个更大的数据框。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) 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 …
我正在尝试使用以下代码在 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) 我有使用deap库的代码。这段代码已经在虚拟环境中运行了一段时间没有任何问题。然后,我将整个环境复制到新的虚拟环境并运行代码,然后开始出现运行时错误:
/usr/local/lib/python3.6/dist-packages/deap/creator.py:141:RuntimeWarning:已创建名为“Individual”的类,它将被覆盖。考虑删除以前创建的该类或重命名它。
运行时警告)
新旧环境中使用的数据是完全相同的,返回的结果看起来也一样。我找不到任何合适的内容来描述为什么会发生此运行时错误 - 为什么可能会发生?
我正在遍历数据框,并尝试为每一行的特定列添加值,但是当我打印结果数据框时,值不存在
#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) 我有一个数据框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) 我有一个如下所示的数据框 ( 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)
我能做些什么来解决这个问题?
我有一个包含按日期索引的价格的数据框.有没有办法计算从一天到下一天的日志回报?
因此,如果我的原始数据框如下所示:
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) 我正在尝试使用以下方法将 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)
我做错了什么?
我有一个数据框(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)
非常感谢