将pandas系列转换为字符串列表会在字符串中留下括号

时间:2016-02-15 08:07:59

标签: python pandas series

我有一个从数据框组生成的系列,然后获取唯一值

我想最终得到一个只列出字符串值的列表

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 \']']

我可以剥离括号等但我想知道为什么我在第一时间得到错误的值

1 个答案:

答案 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))