我的所有列都有一个字符串值的数据框,我的最终结果是使用reportlab的pdf输出,我有以下问题
df = pd.DataFrame({'Token' : ['a','a','a','b','b','b','c','c','c'],
'value1' : ['abc','def','ghi','jkl','mno','pqr','stu','vwx','xyz'],
'value2' :['aaa','bbb','ccc','ddd','eee','fff','ggg','hhh','iii']})
print(df)
Token value1 value2
0 a abc aaa
1 a def bbb
2 a ghi ccc
3 b jkl ddd
4 b mno eee
5 b pqr fff
6 c stu ggg
7 c vwx hhh
8 c xyz iii
我尝试过,groupby,设置索引,设置multiindex和sort_values 我正在寻找类似于下面的结果,感谢对此的任何帮助。
Token value1 value2
0 abc aaa
1 a def bbb
2 ghi ccc
3 jkl ddd
4 b mno eee
5 pqr fff
6 stu ggg
7 c vwx hhh
8 xyz iii
你可以尝试:
def fn(g):
t = g["Token"].iat[0]
g["Token"] = ""
g["Token"].iat[len(g) // 2] = t
return g
df = df.groupby("Token", group_keys=False).apply(fn)
print(df)
打印:
Token value1 value2
0 abc aaa
1 a def bbb
2 ghi ccc
3 jkl ddd
4 b mno eee
5 pqr fff
6 stu ggg
7 c vwx hhh
8 xyz iii