我有DataFrame几个时间序列:
divida movav12 var varmovav12
Date
2004-01 0 NaN NaN NaN
2004-02 0 NaN NaN NaN
2004-03 0 NaN NaN NaN
2004-04 34 NaN inf NaN
2004-05 30 NaN -0.117647 NaN
2004-06 44 NaN 0.466667 NaN
2004-07 35 NaN -0.204545 NaN
2004-08 31 NaN -0.114286 NaN
2004-09 30 NaN -0.032258 NaN
2004-10 24 NaN -0.200000 NaN
2004-11 41 NaN 0.708333 NaN
2004-12 29 24.833333 -0.292683 NaN
2005-01 31 27.416667 0.068966 0.104027
2005-02 28 29.750000 -0.096774 0.085106
2005-03 27 …Run Code Online (Sandbox Code Playgroud) 我有以下df:
code . role . persons
123 . Janitor . 3
123 . Analyst . 2
321 . Vallet . 2
321 . Auditor . 5
Run Code Online (Sandbox Code Playgroud)
第一行意味着我有3个角色扮演者.我的问题是我需要每个人都有一行.我的df应该是这样的:
df:
code . role . persons
123 . Janitor . 3
123 . Janitor . 3
123 . Janitor . 3
123 . Analyst . 2
123 . Analyst . 2
321 . Vallet . 2
321 . Vallet . 2
321 . Auditor . 5
321 . Auditor . 5
321 . …Run Code Online (Sandbox Code Playgroud) 我有一个DataFrame:
Seasonal
Date
2014-12 -1.089744
2015-01 -0.283654
2015-02 0.158974
2015-03 0.461538
Run Code Online (Sandbox Code Playgroud)
我在DataFrame中使用了pd.to_period,因此它的索引变成了Pandas句点类型(类型'pandas._period.Period').
现在,我想将该索引转换为字符串.我正在尝试应用以下内容:
df.index=df.index.astype(str)
Run Code Online (Sandbox Code Playgroud)
然而,这不起作用......
ValueError: Cannot cast PeriodIndex to dtype |S0
Run Code Online (Sandbox Code Playgroud)
从那以后我的代码被冻结了.
SOS
我正在尝试创建一个可能作为输入接收多个或几个字典的函数.我正在使用以下代码:
def merge_many_dics(dic1,dic2,dic3=True,dic4=True,dic5=True,dic6=True,dic7=True,dic8=True,dic9=True,dic10=True):
"""
Merging up to 10 dictionaries with same keys and different values
:return: a dictionary containing the common dates as keys and both values as values
"""
manydics = {}
for k in dic1.viewkeys() & dic2.viewkeys() & dic3.viewkeys() & dic4.viewkeys() & dic5.viewkeys() & dic6.viewkeys()\
& dic7.viewkeys() & dic8.viewkeys() & dic9.viewkeys() & dic10.viewkeys():
manydics[k] = (dic1[k], dic2[k],dic3[k],dic4[k],dic5[k],dic6[k],dic7[k],dic8[k],dic9[k],dic10[k])
return manydics
Run Code Online (Sandbox Code Playgroud)
请注意,我试图将参数dic3,dic4,dic5等等于"True",因此当它们未被指定并且在函数中被调用时,没有任何反应.但是我收到以下错误:
Traceback (most recent call last):
File "/Users/File.py", line 616, in <module>
main_dic=merge_many_dics(dic1,dic2,dic3,dic4)
File "/Users/File.py", line 132, in merge_many_dics …Run Code Online (Sandbox Code Playgroud) 我是Keras的新手,在形状方面遇到了一些麻烦,特别是在RNN和LSTM方面.
我正在运行此代码:
model.add(SimpleRNN(init='uniform',output_dim=1,input_dim=len(pred_frame.columns)))
model.compile(loss="mse", optimizer="sgd")
model.fit(X=predictor_train, y=target_train, batch_size=len(pred_frame.index),show_accuracy=True)
Run Code Online (Sandbox Code Playgroud)
变量predictor_train是一个numpy数组,有119个内部数组,每个数组有80个不同的项.
我有这个错误:
TypeError: ('Bad input argument to theano function with name "/Library/Python/2.7/site-packages/keras/backend/theano_backend.py:362" at index 0(0-based)', 'Wrong number of dimensions: expected 3, got 2 with shape (119, 80).')
Run Code Online (Sandbox Code Playgroud)
到目前为止,我发现RNN接收的形状为(batch_size,timesteps,dimension)的3D张量,当你设置input_shape时,通常会省略batch_size,你应该只提供(时间步长,维度)的元组.但是应该更改代码的哪一部分(如果可能,添加代码更改建议)?
需要启发!我已经坚持了一段时间......
额外信息
关于pred_frame
type:class'pandas.core.frame.DataFrame'
形状:(206,80)
Pred Pred Pred ...
Date
1999-01-01 NaN NaN NaN
1999-02-01 NaN NaN NaN
1999-03-01 NaN NaN NaN
1999-04-01 NaN NaN NaN
...
2015-11-01 288.333333 -0.044705 589.866667
2015-12-01 276.333333 -0.032157 1175.466667
2016-01-01 282.166667 0.043900 1458.966667
2016-02-01 248.833333 -0.082199 5018.966667
[206 …Run Code Online (Sandbox Code Playgroud) 我正在尝试运行这个SimpleRNN:
model.add(SimpleRNN(init='uniform',output_dim=1,input_dim=len(pred_frame.columns)))
model.compile(loss="mse", optimizer="sgd")
model.fit(X=predictor_train, y=target_train, batch_size=len(pred_frame.index),show_accuracy=True)
Run Code Online (Sandbox Code Playgroud)
错误发生在model.fit上,如下所示:
File "/Users/file.py", line 1496, in Pred
model.fit(X=predictor_train, y=target_train, batch_size=len(pred_frame.index),show_accuracy=True)
File "/Library/Python/2.7/site-packages/keras/models.py", line 581, in fit
shuffle=shuffle, metrics=metrics)
File "/Library/Python/2.7/site-packages/keras/models.py", line 239, in _fit
outs = f(ins_batch)
File "/Library/Python/2.7/site-packages/keras/backend/theano_backend.py", line 365, in __call__
return self.function(*inputs)
File "/Library/Python/2.7/site-packages/theano/compile/function_module.py", line 513, in __call__
allow_downcast=s.allow_downcast)
File "/Library/Python/2.7/site-packages/theano/tensor/type.py", line 169, in filter
data.shape))
TypeError: ('Bad input argument to theano function with name "/Library/Python/2.7/site-packages/keras/backend/theano_backend.py:362" at index 0(0-based)', 'Wrong number of dimensions: expected 3, got 2 with shape (88, …Run Code Online (Sandbox Code Playgroud) 我正在使用Keras来预测时间序列.作为标准,我使用了20个时代.我想知道我的神经网络为20个时期中的每一个预测了什么.
通过使用model.predict我在所有时期中只得到一个预测(不确定Keras如何选择它).我想要所有的预测,或者至少是10个最好的预测.
有谁知道如何帮助我?
我有一个像这样的数据框:
name . size . type . av_size_type
0 John . 23 . Qapra' . 22
1 Dan . 21 . nuk'neH . 12
2 Monica . 12 . kahless . 15
Run Code Online (Sandbox Code Playgroud)
我想用一个句子创建一个新列,如下所示:
name . size . type . av_size_type . sentence
0 John . 23 . Qapra' . 22 . "John has size 23, above the average of Qapra' type (22)"
1 Dan . 21 . nuk'neH . 12 . "Dan has size 21, above the average of nuk'neH …Run Code Online (Sandbox Code Playgroud) 我正在使用 pytesseract 尝试检测图像中的某些字符串模式。据我了解,正确使用user patterns将有助于 pytesseract 更好地扫描某种字符串模式。但是,我不知道如何让它发挥作用。这个问题有助于澄清要使用我必须使用config参数 (pytesseract.pytesseract.image_to_string(image, config='),但我不知道如何将其应用于我的案例。
我正在尝试找到这个正则表达式模式:\d{5}\.?\d{5} \.?\d{6} ?\d{5}\.?\d{6} ?\d ?\d{14}。我应该如何应用它来user patterns帮助 tesseract 进行更好的 OCR 扫描?
我正在使用Keras来预测时间序列.作为标准,我使用了20个时代.我想知道我的神经网络为20个时期中的每一个预测了什么.
通过使用model.predict我在所有时期中只得到一个预测(不确定Keras如何选择它).我想要所有的预测,或者至少是10个最好的预测.
根据我之前得到的答案,我应该通过Callback()在on_epoch_end函数内部对模型进行子类化和调用预测来实现适当的回调来计算每个训练时期之后的预测.
嗯,这个理论似乎很有形,但我很难编码.有人能够给出一个代码示例吗?
不知道如何实现Callback()子类化,也不知道如何将它与函数model.predict内部混合on_epoch_end .
非常感谢您的帮助:)
编辑
好吧,我进化了一点点.了解如何创建子类以及如何将其链接到model.predict.但是,我正在大肆宣传如何使用所有预测创建列表.以下是我目前的代码:
#Creating a Callback subclass that stores each epoch prediction
class prediction_history(Callback):
def on_epoch_end(self, epoch, logs={}):
self.predhis=(model.predict(predictor_train))
#Calling the subclass
predictions=prediction_history()
#Executing the model.fit of the neural network
model.fit(X=predictor_train, y=target_train, nb_epoch=2, batch_size=batch,validation_split=0.1,callbacks=[predictions])
#Printing the prediction history
print predictions.predhis
Run Code Online (Sandbox Code Playgroud)
然而,我所得到的只是上一个时期的预测列表(与打印model.predict(predictor_train)相同的效果).
现在的问题是:我如何调整我的代码,以便增加predhis 每个时代的预测?
python ×10
keras ×4
pandas ×4
dataframe ×2
dictionary ×1
pandas-apply ×1
repeat ×1
statsmodels ×1
subclassing ×1
tesseract ×1
time-series ×1