【问题标题】:Select certain elements from a dataframe column with a list从带有列表的数据框列中选择某些元素
【发布时间】:2021-03-21 10:12:32
【问题描述】:

我有一个数据框,其中一列包含 python 列表。如何访问该列表的某些元素,例如只有第一个和第二个:

import pandas as pd

df = pd.DataFrame({'a':[['a', 'b', 'c'], ['e', 'f', 'g']]})
           a
0  [a, b, c]
1  [e, f, g]

期望的输出:

        a
0  [a, b]
1  [e, f]

我正在查看.apply(),但我找不到合适的函数来应用到列表以取出项目。

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    对于您显示的示例,您能否尝试以下操作。

    import pandas as pd
    df['a'] = df['a'].str[:2]
    

    结果如下:

        a
    0   ['a', 'b']
    1   ['e', 'f']
    

    【讨论】:

      【解决方案2】:
      1. 使用.apply()lambda
      df = pd.DataFrame({'a':[['a', 'b', 'c'], ['e', 'f', 'g']]})
      
      df['a'] = df.apply(
          lambda row: row[0][:2],
          axis=1
      )
      
      print(df)
      
      1. 使用列表理解
      df.a = [x[:2] for x in df.a]
      print(df)
      

      输出:

              a
      0  [a, b]
      1  [e, f]
      

      【讨论】:

        猜你喜欢
        • 2020-08-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-25
        • 2017-06-08
        • 1970-01-01
        • 1970-01-01
        • 2018-08-17
        • 2019-04-18
        相关资源
        最近更新 更多