我有一个文本文件:
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建议吗?
答案 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]]