【问题标题】:Pandas dataframe condition when value in cell is a list当单元格中的值是列表时,熊猫数据框条件
【发布时间】:2016-05-17 06:18:27
【问题描述】:

如果同一行中的列B的值是列表[0,1],我如何找到列x中的单元格的值?

AB 列中的每个单元格都是整数的列表

               x      y       A       B 
0           ding   ding    [0, 1]  [0, 0] 
1           ding   dong    [0, 1]  [0, 1] 
2           ding   ding    [0, 1]  [0, 0] 
3           ding   ding    [0, 1]  [0, 0]  
4           ding   dong    [0, 1]  [0, 1] 
5           ding   ding    [0, 1]  [0, 0] 
6           ding   ding    [0, 1]  [0, 0] 

【问题讨论】:

    标签: python list pandas dataframe


    【解决方案1】:

    IIUC 您可以创建与DataFrame 具有相同索引的Series 并将其与B 列进行比较:

    s = pd.Series([[0, 1]], index = df.index)
    print s
    0    [0, 1]
    1    [0, 1]
    2    [0, 1]
    3    [0, 1]
    4    [0, 1]
    5    [0, 1]
    6    [0, 1]
    dtype: object
    
    print df['B'] == s
    0    False
    1     True
    2    False
    3    False
    4     True
    5    False
    6    False
    dtype: bool
    
    print df[df['B'] == s]
          x     y       A       B
    1  ding  dong  [0, 1]  [0, 1]
    4  ding  dong  [0, 1]  [0, 1]
    
    print df.x[df['B'] == s]
    1    ding
    4    ding
    Name: x, dtype: object
    

    【讨论】:

      猜你喜欢
      • 2021-08-01
      • 2018-01-24
      • 1970-01-01
      • 1970-01-01
      • 2018-05-16
      • 2022-01-12
      • 1970-01-01
      • 2020-07-03
      • 1970-01-01
      相关资源
      最近更新 更多