【问题标题】:How to split comma separated cell values in a list in pandas?如何在熊猫列表中拆分逗号分隔的单元格值?
【发布时间】:2021-09-19 20:26:46
【问题描述】:

希望你一切都好!

代码:

df = pd.read_excel('Grade.xlsx')
df = df.loc[df['Current year'] =="Final Year"]
Num = df['Available Number'].values

样本数据:

Sr no.     Name     Current Year     City      Available Number 
1          joe       First Year      NY        125,869,589,852
2          mike      Final Year      MI        586
3          Ross      Final Year      NY        589,639,741
4          juli      Second Year     NY        869,253

现在我的代码将值“586”(row2)和“589,639,741”(row3)复制到变量中。但我想将这些值隐藏在列表(整数列表)中,然后我想在 for 循环中进行迭代。

我想要这样的东西:

list1 = [586]
list2 = [589,639,741]

我不知道如何分隔这些值并将其转换为列表。 如果这里有人可以帮助我吗?我最近开始学习熊猫。提前致谢。

【问题讨论】:

    标签: python pandas split


    【解决方案1】:

    使用循环将字符串转换为 int 列表:

    df['Available Number'] = df['Available Number'] \
                                 .apply(lambda x: [int(i) for i in x.split(',')])
    

    输出:

       Sr no.  Name Current Year City      Available Number
    0       1   joe   First Year   NY  [125, 869, 589, 852]
    1       2  mike   Final Year   MI                 [586]
    2       3  Ross   Final Year   NY       [589, 639, 741]
    3       4  juli  Second Year   NY            [869, 253]
    

    【讨论】:

    • 我得到错误 'list' object has no attribute 'split'
    • 你已经有清单了??? type(df.at[0, 'Available Number']) 的输出是什么?
    • 输出为str
    • 在您的Available Number 列中,一行或多行不是字符串。要检测它们,请使用以下代码:df[df['Available Number'].apply(lambda x: not isinstance(x, str))] 。输出是损坏的
    • 是的,有些是整数,有些是str。所以我想转换整数列表中的 str 。通过用','(逗号分隔)分割它们
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    • 2011-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多