使用Python和Pandas将基于另一列的列组合在一起

时间:2018-03-18 19:17:09

标签: 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,ect)的行,我需要根据第一列中的数字组合它们的值。例如,结果如下:

7 A
9 B
22 C

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

3 个答案:

答案 0 :(得分:1)

假设df如下:

Grid.Column

然后,我认为您可以使用 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)

答案 1 :(得分:0)

您必须使用 join()方法

Table1.join(table2.set_index(''key"),on='key')

答案 2 :(得分:0)

df = pd.DataFrame({'Col1':[3,4,7,2,12,10],'Col2':['A','A','B','B','C','C']})
df.groupby('Col2').sum()