与文本文件的每个元素关联的属性列表

时间:2016-06-14 14:59:50

标签: python pandas

我有一个文本文件:

Name     Attribute
A         b1
B         b2
C         b3
B         b4
A         b5
C         b7

我希望输出为

Name    Attribute
A       (b1,b5)
B       (b2,b4)
C       (b3,b7)

对此有任何python / pandas建议吗?

3 个答案:

答案 0 :(得分:2)

试试这个:

In [301]: df.groupby('Name')['Attribute'].apply(lambda x: tuple(x.tolist())).reset_index()
Out[301]:
  Name Attribute
0    A  (b1, b5)
1    B  (b2, b4)
2    C  (b3, b7)

答案 1 :(得分:2)

试试这个,没有lambda:

df.groupby('Name')['Attribute'].apply(tuple).reset_index()

答案 2 :(得分:0)

这就是字典的原因:

myfile = open('yourfile.txt','r').readlines()
mydict = {}
for line in myfile[1:]:
    data = line.split()
    if data[0] in mydict:
        mydict[data[0]].append(data[1])
    else:
        mydict[data[0]] = [data[1]]