小编Pra*_*mar的帖子

将数组附加到数据框(python)

所以我在一个小的销售数据集上运行了一个时间序列模型,并预测了接下来 12 个时期的销售额。使用以下代码:

 mod1=ARIMA(df1, order=(2,1,1)).fit(disp=0,transparams=True)
    y_future=mod1.forecast(steps=12)[0]
Run Code Online (Sandbox Code Playgroud)

其中 df1 包含以月份为索引的销售值。现在我按以下方式存储预测值:

pred.append(y_future)
Run Code Online (Sandbox Code Playgroud)

现在,我需要将预测值附加到原始数据集 df1 中,最好使用相同的索引。我正在尝试使用以下代码:

df1.append(pred, ignore_index=False)
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

TypeError: cannot concatenate a non-NDFrame object
Run Code Online (Sandbox Code Playgroud)

我试过将 pred 变量转换为列表然后附加,但无济于事。任何帮助将不胜感激。谢谢。

python arrays dataframe pandas sklearn-pandas

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

两个分类器之间的投票如何在sklearn中起作用?

对于分类任务,我使用投票分类器来集成逻辑回归和SVM,投票参数设置为soft.结果明显优于每个单独的模型.我不确定我是否理解它是如何工作的.模型如何才能在两个模型之间找到多数投票?

python classification machine-learning scikit-learn ensemble-learning

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

张量来自不同的图

我是tensorflow的新手。尝试从创建输入管道tfrecords。以下是我的代码段,用于创建批处理并将其输入到my中estimator

def generate_input_fn(image,label,batch_size=BATCH_SIZE):
    logging.info('creating batches...')    
    dataset = tf.data.Dataset.from_tensors((image, label)) #<-- dataset is 'TensorDataset'
    dataset = dataset.repeat().batch(batch_size)
    iterator=dataset.make_initializable_iterator()
    iterator.initializer
    return iterator.get_next()
Run Code Online (Sandbox Code Playgroud)

该行iterator=dataset.make_initializable_iterator()

ValueError:Tensor(“ count:0”,shape =(),dtype = int64,device = / device:CPU:0)必须与Tensor(“ TensorDataset:0”,shape =(),dtype =变体)。

我认为我不小心使用了来自不同图形的张量,但是我不知道如何以及在哪一行代码中使用。我不知道哪个张量是count:0 或哪个张量是TensorDataset:0

谁能帮我调试一下。

错误日志:

      File "task.py", line 189, in main
    estimator.train(input_fn=lambda:generate_input_fn(image=image_data, label=label_data),steps=3,hooks=[logging_hook])
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/estimator/estimator.py", line 352, in train
    loss = self._train_model(input_fn, hooks, saving_listeners)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/estimator/estimator.py", line 809, in _train_model
    input_fn, model_fn_lib.ModeKeys.TRAIN))
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/estimator/estimator.py", line 668, in _get_features_and_labels_from_input_fn
    result = …
Run Code Online (Sandbox Code Playgroud)

python tensorflow tensorflow-datasets tensorflow-estimator

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

无法从 tensorflow.keras.metrics 导入指标

我想编写一个自定义指标评估器,我正在关注此链接。我的虚拟代码是

import tensorflow as tf    
from tensorflow import keras    

class DummyMetric(keras.metrics.Metric):

    def __init__(self, name='categorical_true_positives', **kwargs):
      super(DummyMetric, self).__init__(name=name, **kwargs)
      self.true_positives = self.add_weight(name='tp', initializer='zeros')

    def update_state(self, y_true, y_pred, sample_weight=None):
      print("Evaluating tensor of shape {} against gt of shape {}".format(y_pred.shape, y_true.shape))
      self.true_positives.assign_add(1.0)

    def result(self):
      return self.true_positives

    def reset_states(self):
      # The state of the metric will be reset at the start of each epoch.
      self.true_positives.assign(0.)
Run Code Online (Sandbox Code Playgroud)

我的 tensorflow 版本是从源安装的 1.13.1

keras.metrics.Metric 投掷

AttributeError:模块“tensorflow._api.v1.keras.metrics”没有属性“Metric”。

当我这样做时,pip install tensorflow-gpu==1.14这个错误就会消失。

如果可能,请提出任何解决方案/黑客,这将使其在不升级到 1.14 的情况下工作

python keras tensorflow

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

比较这两个短代码的计算速度

在代码的两个版本中,v1和v2都是大向量(长度范围从1,000 1,000,000到len(v1)= len(v2)).我希望代码2代码1更强大,但事实证明代码1更快,我不知道为什么.你能解释为什么代码2很慢吗?谢谢.

代码1:

norm1=math.sqrt(np.dot(v1,v1))
norm2=math.sqrt(np.dot(v2,v2))
kern=np.dot(v1,v2)/(norm1*norm2)
Run Code Online (Sandbox Code Playgroud)

代码2:

kern=0
for i in range(0, len(v1)):
    kern+=min(v1[i], v2[i])
Run Code Online (Sandbox Code Playgroud)

python algorithm performance numpy

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

ValueError: 不能为指标列使用现有列的名称

我需要解决一个问题,我将有一个数据框,比如 df,名称和年龄,我需要在 for 循环中生成另一个带有名称和性别的数据框,我需要将 for 循环中生成的数据框与 df 合并在df中获取性别。所以我在解决我的问题之前尝试了下面的代码

import pandas as pd
d = {'Age': [45, 38], 'Name': ['John', 'Emily']}
df = pd.DataFrame(data=d)
d1={'Gender':['M'],'Name':['John']}
df1=pd.DataFrame(data=d1)

df3 = df.merge(df1, on=['Name'], how='left', indicator=True)
df3

d2={'Gender':['F'],'Name':['Emily']}
df4=pd.DataFrame(data=d2)
df5=df3.merge(df4, on=['Name'], how='left', indicator=True)
Run Code Online (Sandbox Code Playgroud)

运行最后一行时出现以下错误。

 "Cannot use name of an existing column for indicator column")

ValueError: Cannot use name of an existing column for indicator column
Run Code Online (Sandbox Code Playgroud)

你能建议我如何在 python 3.x 中解决这个问题吗?

python pandas

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

pandas 返回具有多个“NA”值的行索引

我的代码:

import pandas as pd
from sklearn.preprocessing import LabelEncoder
column_names = ["age","workclass","fnlwgt","education","education-num","marital-status","occupation","relationship","race","sex","capital-gain","capital-loss","hrs-per-week","native-country","income"]

adult_train = pd.read_csv("adult.data",header=None,sep=',\s',na_values=["?"])
adult_train.columns=column_names
adult_train.fillna('NA',inplace=True)
Run Code Online (Sandbox Code Playgroud)

我想要在不止一列中具有值“NA”的行的索引。是否有内置方法或者我必须逐行迭代并检查每列的值?这是数据的快照:数据

我想要像 398,409 这样的行的索引(B 和 G 列缺少值)而不是像 394 这样的行的索引(仅在 N 列缺少值)

python python-2.7 python-3.x pandas sklearn-pandas

0
推荐指数
1
解决办法
3291
查看次数