我有一个这样的DataFrame
import pandas as pd
df = pd.DataFrame({"Name" : ["a", "a", "b", "b", "b"], "Numbers" : [1, 3, 2, 4, 6]})
我想显示它,这样对于每个出现一次(不重复)的名称,其编号a都会在新行中列出。 我可以做到:
df.groupby(["Name"]).agg({"Numbers" : lambda x : list(x)}).reset_index()
显示类似this的显示。我想“展开”列表,以便使其像这样
"a" 1
3
"b" 2
4
6
我该如何处理。我尝试获取"\n".join(list(x))
,但是它没有以新行显示,而是以\n
字符显示。
答案 0 :(得分:0)
def unroll(g):
is_first = True
num = g[1].values.tolist()
print(g[0], num[0][0])
for n in num:
print(" ", n[0])
for x in df.groupby('Name'):
unroll(x)