python - 使用 Python 和 Pandas 将基于另一列的列组合起来

标签 python pandas

我有一个巨大的制表符分隔文件,如下所示:

3 Line1 0 100 A
4 Line1 100 200 A
7 Line1 200 300 B
2 Line1 300 400 B
12 Line1 400 500 C
10 Line1 500 600 C

对于所有包含字母(A、B 等)的行,我需要根据第一列中的数字组合它们的值。例如,结果应该如下:

7 A
9 B
22 C

我目前正在使用 Pandas + Python 来解决这个问题。

最佳答案

假设 df 如下:

   val     id  line  col1 col2
0    3  Line1     0   100    A
1    4  Line1   100   200    A
2    7  Line1   200   300    B
3    2  Line1   300   400    B
4   12  Line1   400   500    C
5   10  Line1   500   600    C

然后,我认为您可以使用 groupby 后跟 sum:

result_df = df.groupby('col2')['val'].sum().to_frame('Sum')
print(result_df)

结果:

      Sum
col2     
A       7
B       9
C      22

关于python - 使用 Python 和 Pandas 将基于另一列的列组合起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49351882/

相关文章:

python - sqlalchemy 中的多对多。如果标记已存在,则防止 SQLAlchemy 插入表中

python - pandas 在 groupby 中找到最大值并应用函数

python - 无法根据列的索引删除数据框中的列

python - Pandas 数据框仅将最后一行写入 .csv

python - 项目模块导入 - Python2.7 [初学者]

python - Scrapy 爬虫没有完成解析函数中的所有循环

python - 如何检查鼠标点击是否在 pygame 的圆圈内?

python - 将 end= 添加到 print() 时,time.sleep 无法按预期工作

python - 如何从 pandas 数据框中的时间戳中提取月份?

Python - 值错误 : Cannot index with vector containing NA/NaN values