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

Converting pandas series to string list leaves brackets in string

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

我想以仅包含字符串值的列表结束

unit_group = df.groupby(['Unit'])
unit_list = unit_group['Unit'].unique()

unit_list 是一个索引为

的系列
Unit
UnitA   [UnitA] 
UnitB   [UnitB]

我想要结束的是

unit_list ['UnitA', 'UnitB']

以多种形式使用 tolist 给了我 unit_list = [ '[\'UnitA\']', '[\'UnitB\']' ]

我可以去掉括号之类的,但我想知道为什么我一开始就得到了错误的值

有很多方法,但你可以使用 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))