我有一个从数据框组生成的系列,然后获取唯一值
我想最终得到一个只列出字符串值的列表
unit_group = df.groupby(['Unit'])
unit_list = unit_group['Unit'].unique()
unit_list是一个带有Unit
索引的系列Unit
UnitA [UnitA]
UnitB [UnitB]
我最终想要的是
unit_list ['UnitA', 'UnitB']
以多种形式使用tolist给了我 unit_list = ['[\'UnitA \']','[\'UnitB \']']
我可以剥离括号等但我想知道为什么我在第一时间得到错误的值
答案 0 :(得分:1)
有很多方法,但您可以使用itertools.chain.from_iterable
假设您使用已经用于创建系列uniques
:
import pandas as pd
df = pd.DataFrame({
'a': [1, 1, 2, 1, 2, 1, 2], 'b': [1, 2, 1, 2, 1, 2, 1]})
uniques = df.b.groupby(df.a).unique()
然后这将使它成为一个扁平的列表:
import itertools
list(itertools.chain.from_iterable(uniques.values))