2016-09-01 63 views
1

我有一个类似于下面的数据框 - 这两个列都是字符串,ValCol是逗号分隔的整数字符串。索引是一个没有意义的泛型整数索引。将列值连接到Pandas的行值中

NameCol ValCol 
Name1  555, 333 
Name2  433 
Name1  999 
Name3  123 
Name2  533 

什么是它聚集到

NameCol ValCol 
Name1  555, 333, 999 
Name2  433, 533 
Name3  123 

做T不在乎逗号分隔的整数的顺序最好的方式,但我确实需要保持他们之间的逗号。它可能会是一个非常小的数据框,100个记录,因此效率并不重要。

我觉得应该有一些groupby的方法,但我还没有弄明白。

回答

4

使用groupby方法:

df = df.groupby('NameCol')['ValCol'].apply(', '.join).reset_index() 

输出结果:

NameCol   ValCol 
0 Name1 555, 333, 999 
1 Name2  433, 533 
2 Name3   123 
+0

这使得这么多的意义,是非常干净的,谢谢! – John