繁体   English   中英

单元格中的值是列表时的熊猫数据框条件

[英]Pandas dataframe condition when value in cell is a list

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

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

               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] 

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM