【问题标题】:Pandas dataframe - have column with list of stringsPandas 数据框 - 具有包含字符串列表的列
【发布时间】:2017-04-07 08:42:15
【问题描述】:

我有一个这种格式的数据框:

    id  val
0   294 aa
1   254 bb
2   844 cc

我需要 'val' 列是一个包含字符串的列表,因为我需要将数据框与另一个具有这种格式的数据框连接起来:

id  val
0   294 [aa]
1   254 [bb]
2   844 [cc]

有谁知道我怎么能做到这一点?它必须是一个列表,因为另一个数据框是我们数据库的格式,我想将连接的数据框插入其中。

【问题讨论】:

    标签: python list pandas join dataframe


    【解决方案1】:

    我建议不要存储非标量类型,但如果你坚持可以使用 apply 并为每一行构造一个列表:

    In [53]:
    df['val'] = df['val'].apply(lambda x: [x])
    df
    
    Out[53]:
        id   val
    0  294  [aa]
    1  254  [bb]
    2  844  [cc]
    

    【讨论】:

      【解决方案2】:

      你可以使用:

      df['val'] = [[x] for x in df['val'].values.tolist()]
      print (df)
          id   val
      0  294  [aa]
      1  254  [bb]
      2  844  [cc]
      

      但最好使用标量,因为删除列表最好str[0]

      print (df)
          id   val
      0  294  [aa]
      1  254  [bb]
      2  844  [cc]
      
      df['val'] = df['val'].str[0]
      print (df)
          id val
      0  294  aa
      1  254  bb
      2  844  cc
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-10-10
        • 2022-12-11
        • 2021-12-29
        • 1970-01-01
        • 2015-02-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多