【问题标题】:Converting Pandas Series to Set splits values in series with commas将 Pandas Series 转换为 Set 以逗号分隔值
【发布时间】:2020-09-22 15:26:25
【问题描述】:

我是熊猫新手。我想取一些从 pandas 系列返回的字符串(csv 中名为“lots”的列下的一堆值)并将它们放在一个集合中。为此,我写了以下内容:

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”系列中的值。为什么会这样?

【问题讨论】:

  • .apply(set) 正在从字符串值中为每一行创建一个集合。这是做你想做的吗? setbincsv_df = set(bincsv_df['lots'])

标签: python python-3.x pandas dataframe series


【解决方案1】:

如果你使用apply,你将set 操作应用到每一行的字符串。 例如,如果你有“拉”这个词

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

你可能想要做的是设置(系列):

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


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

输出

{'cd', 'ai', 'drgf'}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-18
    • 1970-01-01
    • 2015-05-20
    • 1970-01-01
    • 1970-01-01
    • 2021-09-27
    • 2012-12-02
    相关资源
    最近更新 更多