我想将日期时间序列转换为季节,例如3个月,4个月,5个月我想用2(春天)替换它们; 几个月6,7,8我想用3(夏天)等替换它们.
所以,我有这个系列
id
1 2011-08-20
2 2011-08-23
3 2011-08-27
4 2011-09-01
5 2011-09-05
6 2011-09-06
7 2011-09-08
8 2011-09-09
Name: timestamp, dtype: datetime64[ns]
Run Code Online (Sandbox Code Playgroud)
这是我一直试图使用的代码,但无济于事.
# Get seasons
spring = range(3, 5)
summer = range(6, 8)
fall = range(9, 11)
# winter = everything else
month = temp2.dt.month
season=[]
for _ in range(len(month)):
if any(x == spring for x in month):
season.append(2) # spring
elif any(x == summer for x in month):
season.append(3) # summer
elif any(x == fall for …Run Code Online (Sandbox Code Playgroud) 我在spyder上导入tensorflow GPU时遇到问题.这是我在使用Spyder 3(在MacOS上)在iPython上键入import tensorflow时得到的结果
当我在tensorflow中检查了我的包时,我得到了这个列表,我看到iPython和Spyder都不包括在内.
同样在anaconda中,当我点击环境中的tensorflow时,我可以选择使用Python打开它,使用终端,但不能使用iPython或Spyder(或Jupyter)打开它
我非常感谢任何帮助.
更新1:
好吧我设法让Spyder上了tensorflow的ENV但是当我在iPython上运行命令'import tensorflow'时我得到了这个错误(当我在Python的选项卡上运行相同的命令时,一切似乎都运行得很好.
我正在尝试在 anaconda 环境(OSX)上安装 keras,因为我想将它与 spyder - ipython 一起使用。为此,我刚刚使用了pip install keras(我已经有了 tensorflow)。安装后,当我从终端调用 python 2.7 时,keras 工作正常。但是,当我调用 python 3.5 或 spyder 并尝试导入 keras 时,我收到: No module named 'keras'
我认为问题可能出在我的 MacBook 上的 PATHS 上,因为which python返回
/usr/local/bin/python2.7
Run Code Online (Sandbox Code Playgroud)
而which python3.5 (or spyder)返回
/Users/georgiospapadopoulos/anaconda/bin/python3.5
/Users/georgiospapadopoulos/anaconda/bin/spyder
Run Code Online (Sandbox Code Playgroud)
此外,在pip install keras节目中,
Requirement already satisfied: keras in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
Run Code Online (Sandbox Code Playgroud)
我的 ~/.bash_profile 包含
# added by Anaconda3 2.4.0 installer
export PATH="/Users/georgiospapadopoulos/anaconda/bin:$PATH"
# added by Anaconda3 4.2.0 installer
export PATH="/Users/georgiospapadopoulos/anaconda/bin:$PATH"
export CUDA_HOME=/usr/local/cuda
export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:$CUDA_HOME/lib"
export …Run Code Online (Sandbox Code Playgroud) 我试图找到一些相关的东西,但没有成功,除了这篇文章,我不能说它有帮助。
我有两个表 A 和 B:A 的尺寸为 5x5,并且在LastName
LastName = {'Smith';'Johnson';'Williams';'Smith';'Williams'};
YearNow= [2010;2010;2010;2010;2010];
Height = [71;69;64;67;64];
Weight = [176;163;131;133;119];
BloodPressure = [124; 109; 125; 117; 122];
A = table(LastName,YearNow,Height,Weight,BloodPressure);
Run Code Online (Sandbox Code Playgroud)
B 的尺寸为 3x2,且唯一值在LastName
LastName = {'Smith';'Johnson';'Williams'};
YearBorn= [1950;1975;1965];
B = table(LastName,YearBorn);
Run Code Online (Sandbox Code Playgroud)
我想在表 A 上创建一个新列,在我为每个 A.YearNow 减去 B.YearBorn 后,该列将包含他们的年龄,因此最后一列将具有以下形式
A.Age = [60,35,45,60,45];
Run Code Online (Sandbox Code Playgroud)
当我尝试使用时[detect,pos] = ismember(A,B(:,1));出现错误:
A 和 B 必须包含相同的变量。
任何帮助,将不胜感激。
我已经下载了新的IntelPython并按照页面上的说明安装了该软件包。
因此,在安装该应用程序后,我按照 Windows 的以下说明进行操作:
到目前为止一切都很好,然后当我激活root环境时,我开始安装 、keras、tensorflow 等软件包pip。在这些软件包中我也安装了spyder。
问题是,当我在环境中时,root我可以输入 python 并正常启动 python 3.6,然后我可以import安装我安装的所有软件包。但是,当在命令窗口中(当我在根环境中时)我输入spyder时,什么也没有发生。相反,我收到一条消息
Spyder 未被识别为内部命令
如果我在 C:\IntelPython3 中输入,conda list那么我可以看到spyder,但正如我所说,该命令不起作用。我试图spyder.exe在 C:\IntelPython3\Scripts 文件夹中找到该文件,但没有。
有什么建议么?谢谢
编辑:我也可以从 Windows 终端启动 Jupyter Notebook,唯一的问题是 Spyder,这很奇怪。
有没有一种简单的方法可以将python中的datetime列转换为的格式YYYYQx,例如2018Q1,2018Q2等等?
我已经尝试过这一行,但是什么也没返回
zip([list(DF_A['period'].dt.year), ['Q']*length_of_DF, list(DF_A['period'].dt.quarter)])
Run Code Online (Sandbox Code Playgroud) 我在 MacBook 上有 Conda 4.7.11 和系统 python 3.7.3 (base)。每当我尝试在我创建的环境上安装新软件包时,Conda 都会将它们安装在基础上。
我已经激活了环境,当我python在终端上输入时,我得到了我的环境的正确 python 版本(3.6.9)。另外,which python指出正确的 python 路径:/anaconda3/envs/Bayesian_Models/bin/python
但是,如果我输入conda info,当我的环境处于活动状态时,我会得到这个(python 3.7.3):
我在这里遇到了僵局,问题是我必须改变一个使用3个不同临时表的过程.让我们为了对话,将它们命名为#temptable1,#temptable2,#temptable3.我不能在这里复制/粘贴整个过程,但一般的想法是这样的,原始过程(procedure1)在过程的最开始创建#temptable1
create table #temptable1
Run Code Online (Sandbox Code Playgroud)
然后使用select/into语句创建剩下的两个
select T.Col
, T.Col2
, T.Col3
into #temptable2
from table1 T
where T.BB>0
select T.Col
, T.Col2
, T.Col3
into #temptable3
from table2 T
where T.BB>0
drop table #temptable1
drop table #temptable2
drop table #temptable3
Run Code Online (Sandbox Code Playgroud)
在此之前它工作正常,但我想要做的是通过添加if/else语句来改变过程.因此,看起来像那样,
declare @BBB nvarchar(32)
create table #temptable1
if @BBB='dd'
begin
select T.Col
, T.Col2
, T.Col3
into #temptable2
from table1 T
where T.BB>0 and T.G='FDL'
select T.Col
, T.Col2
, T.Col3
into #temptable3
from table2 T
where T.BB>0 and T.G='FDL' …Run Code Online (Sandbox Code Playgroud) 有没有一种方法可以将结构(2个字段,每个字段具有52个变量)转换为矩阵(2x52)?谢谢
struct:
sym (1x53)
prob (1x53)
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法,这给了我一个1 x 1的细胞阵列
symProb = reshape({x.sym}, size(53));
Run Code Online (Sandbox Code Playgroud)
我也尝试过struct2cell这样做。