将 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))
我有一个从数据框组生成的系列,然后获取唯一值
我想以仅包含字符串值的列表结束
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))