将Pandas系列转换为集合,用逗号将数值串联起来。

问题描述 投票:-1回答:1

我是Pandas的新手。我想把从Pandas系列中返回的一些字符串(在一个名为 "lot "的csv中一列下的一堆值)放在一个集合中。为此,我写了以下内容。

setbincsv_df = bincsv_df['lots'].apply(set)
print(setbincsv_df )

但打印语句的输出结果是在系列中取一个值,比如 "OP",并显示为136 {P, O}。不但没有拆分,还把它反过来了。

底5项返回。

**"132    {I, F}"
"133    {E, F}"
"134    {W, I}"
"135    {V, H}"
"136    {P, O}"**

我希望它返回的是OP系列中的值。为什么会出现这种情况?

python python-3.x pandas dataframe series
1个回答
2
投票

如果你使用apply,你就会把set操作应用到每一行的字符串上,例如,如果你有 "pull "这个词,你就会把它应用到每一行的字符串上。

print(set("pull"))
{'p','u','l'}

你可能想要的是做set(series)。

df = pd.DataFrame({'lots':['ai','cd','ai','drgf']})


print(set(df['lots']) )

那就是输出

{'cd', 'ai', 'drgf'}
© www.soinside.com 2019 - 2024. All rights reserved.