【问题标题】:How to sum values of specific rows, when conditions apply?当条件适用时,如何对特定行的值求和?
【发布时间】:2021-02-15 18:56:23
【问题描述】:

问题

names word 1 word 2 word 3 ...
Doc1 freq freq freq ...
Doc2 freq freq freq ...
... ... ... ... ...

我在 .csv 中有一个 82 行 x 5k+ 列的数据框。列是单词,行是文档,数字是这些单词在每个文档中出现的频率。

我想对每一行的数字求和,应用一些条件。例如,对于每一行(文档),我需要水平对第 10、15、100、1500 列的值求和。

因此,我预计单词列表在每个文档中出现的总频率。

Doc1 = 55
Doc2 = 3
...

我知道并尝试过的

我是 Python 的初学者。我尝试使用 pandas.dataFrame.loc() 过滤列,但我也保留了意外的单词,我无法将它们水平求和。有什么想法吗?

【问题讨论】:

  • 您只需要对 4 列求和吗?

标签: python pandas numpy count sum


【解决方案1】:

如果您想对索引指向的列列表求和,请使用iloc

r = df.iloc[:, [10, 15, 100, 1500]].sum(axis=1)
print(r)

如果您想汇总由其名称指向的列列表,请使用索引数据框

words = ['here', 'elephant', 'car', 'cat'] # whatever your words are
r = df[words].sum(axis=1)
print(r)

【讨论】:

    猜你喜欢
    • 2022-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-28
    • 2021-05-04
    • 2018-06-21
    相关资源
    最近更新 更多