小编use*_*538的帖子

规范化熊猫数据框的行

我需要规范化包含全零填充的行的数据帧的行。例如:

df= pd.DataFrame({"ID": ['1', '2', '3', '4'], "A": [1, 0, 10, 0], "B": [4, 0, 30, 0]})

ID  A   B
1   1   4
2   0   0
3   10  30
4   0   0 
Run Code Online (Sandbox Code Playgroud)

我的方法是首先排除零值行,然后使用以下方法规范化非零子集:

df1 = df[df.sum(axis=1) != 0]
df2 = df[df.sum(axis=1) == 0]
sum_row = df1.sum(axis=1)
df1.div(sum_row, axis=0)
Run Code Online (Sandbox Code Playgroud)

然后按如下方式连接两个数据帧:

pd.concat([df1, df2]).reset_index()
Run Code Online (Sandbox Code Playgroud)

但是,我在申请时遇到以下错误 df1.div(sum_row, axis=0)

ValueError: 操作数无法与形状 (6,) (2,) 一起广播

我想知道如何修复错误以及是否存在更有效的方法。谢谢!

编辑:预计生成的数据框如下所示:

ID  A     B
1   0.2   0.8 
2   0     0
3   0.25  0.75
4   0     0 
Run Code Online (Sandbox Code Playgroud)

python pandas

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

有条理地填充Pandas数据帧中的空白值

我有一个datafarme,如下所示(有更多列已被删除):

    memberID    shipping_country    
    264991      
    264991       Canada
    100          USA    
    5000         
    5000         UK
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用每个用户的运输国家/地区的现有值填充空白单元格:

    memberID    shipping_country    
    264991       Canada
    264991       Canada
    100          USA    
    5000         UK
    5000         UK
Run Code Online (Sandbox Code Playgroud)

但是,我不确定在大规模数据集上执行此操作的最有效方法是什么.也许,使用矢量groupby方法?

python series dataframe pandas pandas-groupby

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

如何在生产中使用doc2vec模型?

我想知道如何在生产中部署 doc2vec 模型来创建词向量作为分类器的输入特征。具体来说,doc2vec 模型在语料库上进行如下训练。

dataset['tagged_descriptions'] = datasetf.apply(lambda x: doc2vec.TaggedDocument(
            words=x['text_columns'], tags=[str(x.ID)]), axis=1)

model = doc2vec.Doc2Vec(vector_size=100, min_count=1, epochs=150, workers=cores,
                                window=5, hs=0, negative=5, sample=1e-5, dm_concat=1)

corpus = dataset['tagged_descriptions'].tolist()

model.build_vocab(corpus)

model.train(corpus, total_examples=model.corpus_count, epochs=model.epochs)

Run Code Online (Sandbox Code Playgroud)

然后将其转储到 pickle 文件中。词向量用于训练分类器(例如随机森林)来预测电影情绪。

现在假设在生产中,有一个文档包含一些全新的词汇。话虽如此,他们并不在 doc2vec 模型训练期间在场的人中。我想知道如何处理这样的情况。

作为旁注,我知道更新 gensim Doc2Vec 模型Gensim 的训练文档:如何使用以前的 word2vec 模型重新训练 doc2vec 模型。然而,我希望能对此事有更多的了解。

python nlp gensim doc2vec

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

将 pandas 列转换为用户定义的周数

下面是 python 中相当大的数据帧的一小部分。

ID          invoiceDate
1           2017-07-18
2           2017-10-17
3           2017-08-20
4           2017-09-05
5           2017-08-20
6           2017-11-08
7           2017-09-17
8           2017-11-10
9           2017-08-14
10          2017-08-24
Run Code Online (Sandbox Code Playgroud)

鉴于利息期介于2017-07-13和 之间2017-11-21,则相当于 20 周。我需要将每个值映射invoiceDate到相应的周数。例如,2017-07-18映射到第 1 周(第一周分别在 和 开始和结束2017-07-132017-07-192017-08-20第 6 周(第六周分别在 和 开始2017-08-17和结束2017-08-23)。是invoiceDate对象类型。

python pandas

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

标签 统计

python ×4

pandas ×3

dataframe ×1

doc2vec ×1

gensim ×1

nlp ×1

pandas-groupby ×1

series ×1