如何将一列的每一行值转换为pandas中的列表?

时间:2019-08-25 15:12:26

标签: python pandas list

我有一个df,

               Name  Grade
                A    K,1
                B    1,2,3
                C    3,8
          df.dtypes
          Name     object
          Grade    object
          dtype: object

我想将成绩列为列表,

               Name  Grade
                A    [K,1]
                B    [1,2,3]
                C    [3,8]

然后,我有一个列表

           List = [2,3]

我想从df中的“等级列表”中提取至少具有一个值的名称。

         Expected Output = Name  Grade
                            B    [1,2,3] 
                            C    [3,8]

1 个答案:

答案 0 :(得分:1)

这是一种方法,请注意,分割后的数字仍保留为字符串类型

df=df[df.Grade.str.split(',',expand=True).isin(['2','3']).any(1)]
df
  Name  Grade
1    B  1,2,3
2    C    3,8
#df.Grade=df.Grade.str.split(',')